2016-11-01 2 views
1

오디오 파일을 재생하려고하면 이상한 메시지가 나타납니다. 내 HTML에myAudio.play()가 함수가 아닙니다.

나는 사운드 파일 가지고 :

<audio id="song" src="song.mp3"></audio> 

을 나는 이미지를 클릭하면 내 자바 스크립트에

<img onclick="togglePlay()" src="image.png" width="100%"> 
        </div> 

을 :

var myAudio = $("#song"); 

    var isPlaying = false; 
    function togglePlay() { 
    if (isPlaying) { 
      myAudio.pause(); 
     } else { 
     myAudio.play(); 
     } 
    }; 
    myAudio.onplaying = function() { 
     isPlaying = true; 
    }; 
    myAudio.onpause = function() { 
     isPlaying = false; 
    }; 

나는 소리를 점점하지 있어요 콘솔에 "myAudio.play()가 재미가 아닙니다"라는 경고 메시지가 표시됩니다. 귀하의 질문에 따라

+0

var myAudio = $ ("# song");'- HTML 요소가 아닌 jQueery 객체를 반환한다. jQueery는 "play"를 전혀 모른다 ... var myAudio = document.getElementByID (' 그런 간단한 작업을 위해 jQueery를 사용하기로 결정했다면,'myAudio = myAudio = $ ("# song") [0];'을 사용하면 myAudio는 ID –

+0

감사합니다. 이제는 document.getElementByID가 함수가 아닙니다 !! 내 의도적 인 실수로 인해 – Paul

+0

-'document.getElementById'는 당신이 찾고있는 실제 함수입니다 –

답변

2

예 솔루션 : deadlinks 향후 이미지 확인 및 오디오 깨진 경우

var myAudio = $("#song")[0]; 
 

 
var isPlaying = false; 
 

 
function togglePlay() { 
 
    if (isPlaying) { 
 
     myAudio.pause(); 
 
    } else { 
 
     myAudio.play(); 
 
    } 
 
}; 
 
myAudio.onplaying = function() { 
 
    isPlaying = true; 
 
}; 
 
myAudio.onpause = function() { 
 
    isPlaying = false; 
 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<audio id="song" src="https://ia801009.us.archive.org/4/items/BeatlesGreatestHits/02%20With%20a%20Little%20Help%20From%20My%20Friends.mp3"></audio> 
 

 
<img onclick="togglePlay()" src="https://pmcdeadline2.files.wordpress.com/2014/06/the-beatles-1__140613232022.jpg" width="100%">

. 0120-4-575-0330,

관련 문제