1

から参照された android.i に Brightcove プレーヤーを実装したいだけです

http://support.brightcove.com/en/docs/accessing-video-content-media-api

http://support.brightcove.com/en/docs/best-practices-android-app-development

そこから、ビデオの URL を「http://api.brightcove.com/services/library?command=find_video_by_id&video_id=1520880903001&video_fields=name,length,FLVURL&media_delivery=http&token=jskS1rEtQHy9exQKoc14IcMq8v5x2gCP6yaB7d0hraRtO__g.UuxM」として取得しました。

私はvideocloud上の特定のビデオのVideoId、Video_fieldsを取得しました.Androidネイティブアプリのブライトコーブプレーヤーでこれらの情報を使用してそのビデオを再生したいだけです。

私のコード:

private static final String MyApiToken = "私のトークン"; プライベート ReadAPI mReadAPI = new ReadAPI(MyApiToken); プライベート com.brightcove.mobile.mediaapi.model.Video pVideo;

/** Called when the activity is first created. */
@Override

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(
            WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.main);

    makeAPICall();

}

プライベート ボイド makeAPICall() {

    Log.d("Sample", "Beginning makeAPICall");
    EnumSet<VideoFieldEnum> videoFields = VideoFieldEnum.createEmptyEnumSet(); 
    videoFields.add(VideoFieldEnum.NAME);
    videoFields.add(VideoFieldEnum.LENGTH);
    videoFields.add(VideoFieldEnum.FLVURL);

    try {
        long videoId =My videoId;
        pVideo = mReadAPI.findVideoById(videoId, videoFields, null);
    } catch(Exception e) {
        String msg = e.getMessage();
        Log.e("Sample", msg);
    }

    //Create the player
    BCPlayerView mPlayer;
    mPlayer = (BCPlayerView) findViewById(R.id.player);

    mPlayer.load(pVideo);
    mPlayer.start();
}

}

bc-android-mediapi.jar や bc-android-player.jar などのライブラリ jar も追加しました。実行しようとすると、ビデオ プレーヤー コントローラが表示された黒い画面が表示されます。しかし、ビデオが再生されません。含める必要があるものはすべてさらに遠く?

ありがとう。

4

1 に答える 1

2

これは古い投稿であることは知っていますが、同じ答えを探しているときに無精ひげを生やしました。

これが私がそれを解決した方法です:

  1. アプリにインターネットへのアクセス許可があることを確認してください

     <uses-permission android:name="android.permission.INTERNET"/>
    
  2. URL アクセスで Read API トークン キーを使用する (このトークンの取得方法)

  3. メディア配信タイプを強制的に H264 にする

     theReadAPI.setMediaDeliveryType(MediaDeliveryTypeEnum.HTTP);    
    

これが、このライブラリで問題を抱えている他の人の助けになることを願っています。ここに私の完全なコードサンプルがあります:

    Logger mAPILogger = Logger.getLogger("BCAndroidAPILogger");
    ReadAPI theReadAPI = new ReadAPI("read with URL Access token");
    theReadAPI.setMediaDeliveryType(MediaDeliveryTypeEnum.HTTP);
    theReadAPI.setLogger(mAPILogger);

    EnumSet<VideoFieldEnum> videoFields = VideoFieldEnum
            .createEmptyEnumSet();
    videoFields.add(VideoFieldEnum.ID);
    videoFields.add(VideoFieldEnum.NAME);
    videoFields.add(VideoFieldEnum.LENGTH);
    videoFields.add(VideoFieldEnum.RENDITIONS);
    videoFields.add(VideoFieldEnum.FLVURL);
    videoFields.add(VideoFieldEnum.THUMBNAILURL);
    videoFields.add(VideoFieldEnum.VIDEOFULLLENGTH);

    try {
        // Get My Playlist
        Playlist thePlaylist = theReadAPI.findPlaylistById(1234567890123,
                videoFields, null, null);

        BCPlayerView thePlayer = (BCPlayerView) findViewById(R.id.player);
        thePlayer.logEnabled(true);
        thePlayer.load(thePlaylist.getVideos().get(0));
        thePlayer.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
于 2012-11-12T20:39:26.923 に答える