2013-02-08 1 views
1

MediaElementPlayer 클래스를 웹 응용 프로그램과 함께 사용하는 데 문제가 있습니다. 내가 성취하고자하는 것은 플레이어가 끝까지 트랙을 재생할 때마다 메소드를 실행하는 것입니다. 내 코드는 다음과 같습니다.MediaElementJs 콜백이 종료되지 않았습니다.

$(document).ready(function() 
{ 
    $('#audio-player').mediaelementplayer("#audio-player", 
    { 
     alwaysShowControls: true, 
     features: ['playpause','volume','progress'], 
     audioVolume: 'horizontal', 
     audioWidth: 400, 
     audioHeight: 120, 
     success: function(mediaElement, domObject) 
     { 
      mediaElement.addEventListener('ended', loadNew, false); 
     } 
    }); 

    function loadNew() 
    { 
     Alert("Track ended callback"); 
    } 

    $(".play-button").click(function() 
    { 
     alert("Load new"); 
    }); 
}); 

내 jQuery 버전은 1.7.2입니다. 나는 var player = new Media...과 같은 다른 변형을 시도한 후 player.addEventListener하지만 모든 행운을하지 않고. 그리고 재미있는 점은 이것이 실제로 어제와 오늘은 실제로 작동하지 않는다는 것입니다.

제안 사항? 감사!

답변

3

나는 모든 미래의 독자들을 위해 그것을 고칠 수있었습니다. 코드는 아래에 게시되었습니다. 변화가별로 없지만 매력처럼 작동합니다. 당신의 mediaelementplayer() fonction 통화에서

$(document).ready(function() 
{ 
    var player = new MediaElementPlayer("#audio-player", 
    { 
     alwaysShowControls: true, 
     features: ['playpause','volume','progress'], 
     audioVolume: 'horizontal', 
     audioWidth: 400, 
     audioHeight: 120, 
     success: function(mediaElement, domObject) 
     { 
      mediaElement.addEventListener('ended', loadNextTrack, false); 
     } 
    }); 

    $(".play-button").click(function() 
    { 
     alert("Load new"); 
    }); 
}); 

function loadNextTrack(mediaElement, domObject) 
{ 
    alert("Next track callback"); 
} 
1

, 첫 번째 매개 변수로 "# 오디오 플레이어"를 반복하지해야합니다 :

$(document).ready(function() 
{ 
    $('#audio-player').mediaelementplayer( 
    { 
     alwaysShowControls: true, 
     features: ['playpause','volume','progress'], 
     audioVolume: 'horizontal', 
     audioWidth: 400, 
     audioHeight: 120, 
     success: function(mediaElement, domObject) 
     { 
      mediaElement.addEventListener('ended', loadNew, false); 
     } 
    }); 

    function loadNew() 
    { 
     Alert("Track ended callback"); 
    } 

    $(".play-button").click(function() 
    { 
     alert("Load new"); 
    }); 
}); 

그것은 당신의 문제를 해결해야한다.