Как передавать только аудиоданные из видео YouTube в мое приложение?

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

Ответ 1

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

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

Ответ 2

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

// 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();