웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
PHP로 구현하는 음악 감상실
2004.05.21 15:36
배경음악을 자동으로 바꾸어 주는 알고리즘은 [무작위 난수]와 [종료이벤트]를 이용해 구현 합니다.
즉 음악의 선택은 [난수]로, 노래의 전환은 [이벤트]로 ..
먼저 음악 폴더 안에 있는 노래 파일 이름들을 읽어들여 메모리에 보관한 후
노래 이름들 중 무작위로 한곡을 선택하여 embed 태그를 사용해 재생시켜 줍니다.
그리고 자바스크립트로 노래가 끝나면 같은 방식으로 다른 노래가 재생됩니다.
아쉬운 점은 문작위로 곡이 선택되기 때문에 같은 노래가 연속해서 나올 수도 있습니다.
하지만 그럴 확률은 그리 높지 않습니다.
이 음악 전환 알고리즘에서 중요한 부분은 2가지 입니다.
1. 폴더에 들어있는 파일 이름 목록 읽어들이기, 무작위로 노래 선택하기
while ($f_name = readdir($dir_hnd)) // 노래 파일 이름들을 읽어 들입니다.
{
if( !is_dir($f_name) ) $m_name[$f_cnt++] = $f_name; // 노래 파일 이름들을 배열에 저장합니다.
}
// 임의의 곡을 선택하기 위해 난수를 노래 곡수로 나누어 나머지를 구합니다.
// 이 나머지 값은 재생될 노래의 위치를 가르킵니다.
$m_select = rand() % $f_cnt;
2. 곡이 끝나면 자동으로 실행되는 자바스크립트
- 이 부분은 미디어 플레이어가 종료되면서 발생되는 종료 메시지에 의해 실행됩니다.
- 이 자바 스크립트가 없다면 일일이 곡의 시간을 직접 설정해 주어야 하므로 소스가 복잡해 집니다.
<SCRIPT event="EndOfStream" for="bgm" language="javascript">
location.href="./bgmusic.php"; //다시 무작위로 음악이 재생되는 부분입니다.
</script>
즉 음악의 선택은 [난수]로, 노래의 전환은 [이벤트]로 ..
먼저 음악 폴더 안에 있는 노래 파일 이름들을 읽어들여 메모리에 보관한 후
노래 이름들 중 무작위로 한곡을 선택하여 embed 태그를 사용해 재생시켜 줍니다.
그리고 자바스크립트로 노래가 끝나면 같은 방식으로 다른 노래가 재생됩니다.
아쉬운 점은 문작위로 곡이 선택되기 때문에 같은 노래가 연속해서 나올 수도 있습니다.
하지만 그럴 확률은 그리 높지 않습니다.
이 음악 전환 알고리즘에서 중요한 부분은 2가지 입니다.
1. 폴더에 들어있는 파일 이름 목록 읽어들이기, 무작위로 노래 선택하기
while ($f_name = readdir($dir_hnd)) // 노래 파일 이름들을 읽어 들입니다.
{
if( !is_dir($f_name) ) $m_name[$f_cnt++] = $f_name; // 노래 파일 이름들을 배열에 저장합니다.
}
// 임의의 곡을 선택하기 위해 난수를 노래 곡수로 나누어 나머지를 구합니다.
// 이 나머지 값은 재생될 노래의 위치를 가르킵니다.
$m_select = rand() % $f_cnt;
2. 곡이 끝나면 자동으로 실행되는 자바스크립트
- 이 부분은 미디어 플레이어가 종료되면서 발생되는 종료 메시지에 의해 실행됩니다.
- 이 자바 스크립트가 없다면 일일이 곡의 시간을 직접 설정해 주어야 하므로 소스가 복잡해 집니다.
<SCRIPT event="EndOfStream" for="bgm" language="javascript">
location.href="./bgmusic.php"; //다시 무작위로 음악이 재생되는 부분입니다.
</script>
댓글 9
제목 | 글쓴이 | 날짜 |
---|---|---|
응용편 - BMI 측정 테스트 소스를 만들어보자 [5] | 티다 | 2004.06.04 |
게시판내용에 코멘트를 달자!! -마지막- [2] | 이혁 | 2004.06.03 |
게시판내용에 코멘트를 달자!! -2- [1] | 헉스 | 2004.06.02 |
게시판내용에 코멘트를 달자!! [3] | 헉스 | 2004.06.02 |
2. array [5] | 티다 | 2004.06.02 |
1. 연산자 [2] | 티다 | 2004.06.02 |
주식정보출력코드 [2] | 김재경 | 2004.06.01 |
윈도우계정에서 현재 남은 용량과 DB 용량 알기
[6]
![]() | 지으니 | 2004.05.31 |
초간단 스팸방지 하면서 곧바로 메일 보내기 [3] | U2em | 2004.05.31 |
해당 ftp 파일 서버에서 다른곳의 ftp 파일 서버로 백업용도 및 전송하기.. [9] | 김동욱 | 2004.05.30 |
초간단 설문조사 소스 [3] | 이혁 | 2004.05.27 |
PHP로 구현하는 음악 감상실
[9]
![]() | 컴도미 | 2004.05.21 |
[국밥PHP] 1-1(1). 개념정리 Break Time (Build 1) [7] | 9000㎒ | 2004.05.18 |
팁 아닌 팁 한달전... | http://zentoo.com | 2004.05.15 |
포털사이트 처럼 시스템 점검중 만들기 [3] | http://zentoo.com | 2004.05.14 |
PHP 4에서 PHP 5로 이행 [5] | 이종현 | 2004.04.30 |
PHP5 RC2 Released. [4] | 써니루루☆ | 2004.04.27 |
트랙백 구현하기 - 2. 트랙백의 형식
![]() | TheMics | 2004.04.22 |
트랙백 구현하기 - 2. 트랙백의 형식
![]() | TheMics | 2004.04.22 |
엔지오 채널 따라하기 -_-& www자동 붙이기 [6] | 박종찬 | 2004.04.18 |