2012-07-09 1 views

답변

1
유튜브 pluginApi의 setSrc 방법은 존재하지 않거나 올바르지 않습니다

: https://github.com/johndyer/mediaelement/issues/381

당신은 직접 pluginApi 내에서 loadVideoByUrl() 또는 loadVideoById와()를 호출 할 것 중 하나

var myVideoPlayer = new MediaElementPlayer('#elementId'); 
myVideoPlayer.media.pluginApi.loadVideoById('myYoutubeId'); 

또는 난 그대로 그것을 테스트하지 않은

/* global mejs */ 

(function($) { 
    $.extend(MediaElementPlayer.prototype, { 
     buildmyyoutube: function(player, controls, layers, media) { 
      if (!player.isVideo || media.pluginType !== 'youtube') { 
       return; 
      } 

      $.extend(media, { 
       /** 
       * mejs' youtube plugin's setSrc doesn't support youtube urls (the flash one does) 
       * 
       * @param string urlOrId Can either be a youtube url http://www.youtube.com/watch?v=<YoutubeId> 
       *      or directly a youtube id 
       */ 
       setSrc: function (urlOrId) { 
        var queryStr = urlOrId.match(/v=([^&]*)/); 
        var id = urlOrId; 

        if(queryStr !== null) { 
         id = queryStr[1]; 
        } 
        this.pluginApi.loadVideoById(id); 
       } 
      }); 
     } 
    }); 
})(mejs.$); 

var myVideoPlayer = new MediaElementPlayer('#elementId', {features: ['myyoutube']}); 
myVideoPlayer.setSrc('myYoutubeId'); 
myVideoPlayer.setSrc('http://www.youtube.com/watch?v=myYoutubeId'); 

: setSrc을 "미디어"인덱스를 확장하고 추가하는 플러그인을 만드는() 그 방법 중 하나를 호출 내가 사용하는 일부 코드에서 편집해야했지만 작동해야합니다.