Как воспроизвести видео YouTube на SurfaceView? - PullRequest
0 голосов
/ 13 октября 2018

Я хочу создать приложение, которое может воспроизводить видео на YouTube вместе с местным видео.Причина, по которой я использовал SurfaceView, заключается в том, что я могу воспроизводить видео в фоновом режиме как аудио, чтобы пользователь мог взаимодействовать с другими приложениями.Я пропустил код фоновой службы, чтобы не увеличивать длину поста.

Мой код работает нормально на локальных видео, которые хранятся на мобильных устройствах, но он не смог воспроизвести видео с YouTube.

    surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
        player = new MediaPlayer();

        surfaceHolder = surfaceView.getHolder();
        surfaceHolder.addCallback(this);

           public void doPlayVideo( ){

            try {
                player.setDataSource(this, Uri.parse(path)); 
                player.prepareAsync();
                player.setOnPreparedListener(this);

            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    @Override
    public void onPrepared(MediaPlayer mp) {
        player.start();
        player.setLooping(true);
    }

    @Override
    public void surfaceCreated(SurfaceHolder holder) {

        player.setDisplay(surfaceHolder);
        doPlayVideo();
  }
...