웹마스터 팁

SOUND 다루기 - 1

2008.10.01 09:46

ITBANK.kr

음악 파일 연주하기

음악파일을 연주하는 태그는 EMBED, BGSOUND, OBJECT 등의 태그를 사용할 수 있지만, 네츠케이프와 익스플로러 양대 브라우저에서 동시에 사용하게 하려면 EMBED 태그를 사용하는 것이 일반적입니다

EMBED 태그를 사용해 음악파일을 연주하는 방법은 아래와 같습니다

<EMBED SRC="음악파일" LOOP = "TRUE/FALSE" AUTOSTART = "TRUE/FALSE" HIDDEN = "TRUE/FALSE" VOLUME="숫자" WIDTH="픽셀" HEIGHT="픽셀">

자, 하나하나 이 태그의 속성이 무엇을 말하는지 알아보도록 하겠습니다

SRC : 이미지 태그에서 <IMG SRC="그림파일"> 처럼 사용하듯이 이것 역시 음악파일이 있는 위치와 파일명을 말합니다
LOOP : 자동으로 반복연주를 하게 할지 여부를 지정합니다
AUTOSTART : 페이지 로딩과 동시에 자동으로 재생하게 할지 여부를 지정합니다
VOLUME : 소리의 크기를 설정 합니다
WIDTH : 페이지에 보여질 컨트롤 박스의 가로크기를 지정합니다
HEIGHT : 페이지에 보여질 컨트롤 박스의 세로크기를 지정합니다
HIDDEN : 컨트롤 박스를 보이지 않게 설정합니다

그럼, 위의 태그를 실제로 적용한 코드를 보도록 하죠

<EMBED SRC="http://www.jasko.co.kr/java_data/1.mid" LOOP = "TRUE" AUTOSTART = "TRUE" HIDDEN = "FALSE" VOLUME="5" WIDTH="300" HEIGHT="200">

소스실행

이제 위의 기본 원리를 이해하셨다면 배열을 사용한 랜덤 배경음악을 연주하는 자바스크립트를 코딩해 보도록 하겠습니다

랜덤으로 배경음악 연주하기

<script>
music=new Array();
music[0]="1.mid";
music[1]="2.mid";
music[2]="3.mid";
music[3]="4.mid"; 
var i=Math.floor(Math.random()*music.length);
document.write("
<embed src=" + music[i] + " width=300 height=200 autostart = true loop = false>");
</script>

스크립트 에서는 4개의 음악파일을 배열로 정의하고 Math.random() 메소드에 의해 반환되는 난수를 이용해 랜덤으로 배경음악을 들려주고 있습니다
Math.random() 은 0에서 1 사이의 난수를 발생시켜 주는데 여기에 음악파일의 갯수(music.length) 즉, 4를 곱해주고 Math.floor 메서드를 실행하면 0 에서 3 사이의 정수를 반환받게 됩니다
이 정수가 로딩시의 배열번호(i) 가 되는 것이죠

어려우세요? Math 객체를 한번 더 공부 해 보시기 바랍니다

소스실행

예제적용사이트 : http://www.itbank.kr

제목 글쓴이 날짜
qmail-1.03설치⑤ (courier-imap연동) 비츠로 2003.02.28
qmail-1.03설치⑥ (qmail-scanner 스팸필터링) 비츠로 2003.02.28
qmail-1.03설치⑦ (qmailadmin 큐메일 웹관리툴) 비츠로 2003.02.28
qmail-1.03설치⑧ (squirrel웹메일과 연동) 비츠로 2003.02.28
apache-1.3.x설치① (필수조건과 pre configure) 비츠로 2003.03.02
apache-1.3.x설치② (mm, mod_ssl, mod_perl모듈) 비츠로 2003.03.02
apache-1.3.x설치③ (resin, jdk, jdbc연동) 비츠로 2003.03.02
apache-1.3.x설치③ (tomcat4, jdk, jdbc연동) 비츠로 2003.03.02
apache-1.3.x설치④ (php4 + db + mail연동) 비츠로 2003.03.02
apache-1.3.x설치⑤ (apahce설치, php가속기 추가) 비츠로 2003.03.02
apache-1.3.x설치⑥ (apahce, tomcat, resin가상호스팅설정) 비츠로 2003.03.02
리눅스에서 한통 ADSL 설정해 주기.. [5] 이희덕 2003.03.02
Sendmail 취약점 발표 [3] 조수권 2003.03.04
안녕하세요, php 보안 취약점인데 한번 보시길.. [28] Dopesoul 2003.03.08
php 의 보안 관련.. [7] Dopesoul 2003.03.08
apache server의 log file 관리 [3] 겨울늑대 2003.03.09
트래픽관리 Throttle-status 사용자 인증시키기 [1] Cksoft 2003.03.18
Apache1.3.27 + PHP4.3.1 + MySQL4.0.12 + ZendOptimizer2.1.0 [6] FriZeX 2003.03.19
mysql에서 사용자 권한을 잘못 부여하여 root로 접속불가, 사용권한 제한등 문제 해결방법 [3] 정종화 2003.03.20
커널 2.4 local ptrace-related vulnerability 패치하세요~ [8] 김도한 2003.03.20