我想开发一个应用程序,它会显示来自YouTube的视频列表,当用户点击Youtube视频时,我的应用程序将开始播放其音频。我遇到了首先下载YouTube视频并提取音频的解决方案,但为了加快这个过程,我想直接将音频位传输到应用程序的音频播放器而不是视频。 换句话说,我想在我的应用中传输YouTube音频而不是视频。
答案 0 :(得分:5)
听起来你已经大部分都在那里了。您的应用程序可以列出视频并下载所选视频。您只需要一个直接从视频文件播放音频的基础设施。
YouTube视频可以是FLV或MP4文件。在这些文件中可以是MP3或AAC音频(其他一些音频编解码器是可能的,但你不会在YouTube上遇到它们)。这意味着您的应用需要知道如何直接拆分FLV和MP4文件,以及如何将MP3和AAC音频直接解码为PCM。根据您的语言和平台,有些库可以帮助完成这些任务。
答案 1 :(得分:3)
请尝试使用以下代码从视频流中提取音频:
// 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();