2014-12-04 2 views
0

휴대 기기에서 실행 중일 때 자바 스크립트 콜백에서 Audio 객체를 쉽게 재생할 수없는 것처럼 보입니다. 아래의 코드는 웹 페이지가로드 될 때 PC에서 소리를 재생하지만 Android 폰에서는 아무 것도 재생하지 않는 onload 기능을 보여줍니다.휴대 기기의 콜백에서 오디오 객체가 재생되지 않음

내가 알지 못했던 추측은 Audio 객체가 재생되기 전에 콜백이 반환된다는 것입니다. 따라서 어떤 심각한 이유 때문에 사망합니다.

다른 방법이 있습니까? 정식 버전에서는 JavaScript가 URL에서 재생할 사운드를 읽습니다. ...


<!DOCTYPE html> 
<html> 
<head lang="en"> 
    <meta charset="UTF-8"> 
    <title>Play Me</title> 
    <style> 
     body {background-color:lightgrey} 
     h1 {color:blue} 
     p {color:green;font-size:50px} 
    </style> 
</head> 
<body onload="playMySound()"> 
<P> 
PLAY ME 
<button onclick="playMySound()">sound me</button> 
</P> 

<br> 
<script> 
    var mySound ; 

    function playMySound() { 
     var soundUrl = "http://www.letiketa.com/myapp/sound.ashx?sound=sound1" ; 
     var mySound = new Audio(soundUrl); 
     // Actually play the sound 
     mySound.play() ; 
    } 

</script> 


버튼은 모든 장치에서 제대로 소리를 재생하고 그 콜백 겠지? onload 콜백에 특별한 것이 있습니까?

답변

0

아아, 모바일 장치에서 현재 HTML5는 사용자가 일부 입력을하지 않으면 소리가 재생되지 않도록 허용합니다. 아마도 "나는 소리를 낼 수 있습니다."라고 말할 것입니다. 어쨌든 최신 Firefox 브라우저 인 V34는 제한 사항을 철회 한 것으로 보입니다.

크롬에도 수정 사항이 있습니다. 주소 표시 줄의 "about : flags"로 이동하고 "제스처 필요"옵션을 찾아 비활성화해야합니다.

이틀 후에 내가 작성한 프로그램이 이제 작동합니다 ...

관련 문제