Как транслировать только аудио данные из видео YouTube на моем приложении? - PullRequest
10 голосов
/ 12 февраля 2012

Я хочу разработать приложение, которое будет отображать список видео с YouTube , и когда пользователь нажмет на видео Youtube , мое приложение начнет воспроизводить его аудио.Я нашел решение сначала загрузить видео YouTube и извлечь аудио, но чтобы ускорить процесс, я хочу напрямую передавать биты аудио в аудиоплеер моего приложения вместо видео. Другими словами, я хочу транслировать YouTube аудио вместо видео в моем приложении.

Ответы [ 2 ]

5 голосов
/ 06 марта 2012

Звучит так, будто вы уже прошли большую часть пути.В вашем приложении есть возможность перечислить видео и загрузить выбранные.Вам просто нужна инфраструктура для воспроизведения аудио непосредственно из видеофайлов.

Видео YouTube могут быть как FLV, так и MP4 файлами.Внутри этих файлов может быть аудио MP3 или AAC (возможны некоторые другие аудиокодеки, но вы не встретите их на YouTube).Это означает, что ваше приложение должно знать, как разбирать файлы FLV и MP4 напрямую и как декодировать аудио MP3 и AAC напрямую в PCM.Существуют библиотеки, которые могут помочь с этими задачами, в зависимости от вашего языка и платформы.

3 голосов
/ 04 января 2015

Пожалуйста, попробуйте извлечь аудио из видео потока, используя следующий код:

// the video URL is the following
    String url = "http://137.110.92.231/~chenyu/BBC.mp4"; 

    MediaPlayer mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        mediaPlayer.setDataSource(url);
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        mediaPlayer.prepare(); // might take long! (for buffering, etc)
    } catch (IOException e) {
        e.printStackTrace();
    }
    mediaPlayer.start();
...