如何从 android 应用投射 YouTube 视频 url

How to cast youtube video url from android app

无法通过 Chromecast 从我的 Android 应用程序投射 YouTube 视频 URL,而我从我的服务器成功播放了其他视频内容。

代码如下:

private void startVideo() {
        MediaMetadata mediaMetadata = new MediaMetadata( MediaMetadata.MEDIA_TYPE_MOVIE );
        mediaMetadata.putString( MediaMetadata.KEY_TITLE, getString( R.string.video_title ) );

        MediaInfo mediaInfo = new MediaInfo.Builder(
                "http://www.youtube.com/watch?v=Zy0cCn7F7mw")
                .setContentType( video/mp4 )
                .setStreamType( MediaInfo.STREAM_TYPE_BUFFERED )
                .setMetadata( mediaMetadata )
                .build();
        try {
            mRemoteMediaPlayer.load( mApiClient, mediaInfo, true )
                    .setResultCallback( new ResultCallback<RemoteMediaPlayer.MediaChannelResult>() {
                        @Override
                        public void onResult( RemoteMediaPlayer.MediaChannelResult mediaChannelResult ) {
                            if( mediaChannelResult.getStatus().isSuccess() ) {
                                mVideoIsLoaded = true;
                                mButton.setText( getString( R.string.pause_video ) );
                            }
                        }
                    } );
        } catch( Exception e ) {
        }
    }  

我尝试使用 "video/webM" 的 MIME 类型,但没有成功。请帮忙。

您正在尝试投射一个 HTML 网页,该网页上有 YouTube 播放器而不是实际的视频文件本身,这是行不通的...MediaInfo 的内容必须是直接 URL 到视频流。

此外,您将无法为 YouTube 视频获取它;所有 YouTube 视频都必须通过 YouTube 播放器(在桌面或移动设备上)播放。