Video 如何在我的应用程序上仅从youtube视频流式传输音频数据?
我想开发一个应用程序,它将显示来自的视频列表,当用户单击视频时,我的应用程序将开始播放其音频。我遇到了一个先下载视频并提取音频的解决方案,但为了加快这个过程,我想直接将音频位传输到应用程序的音频播放器,而不是视频换句话说,我希望在我的应用程序中流式传输音频而不是视频。听起来您已经完成了大部分工作。您的应用程序可以列出视频并下载选定的视频。您只需要一个直接从视频文件播放音频的基础设施Video 如何在我的应用程序上仅从youtube视频流式传输音频数据?,video,youtube,youtube-api,video-streaming,html5-audio,Video,Youtube,Youtube Api,Video Streaming,Html5 Audio,我想开发一个应用程序,它将显示来自的视频列表,当用户单击视频时,我的应用程序将开始播放其音频。我遇到了一个先下载视频并提取音频的解决方案,但为了加快这个过程,我想直接将音频位传输到应用程序的音频播放器,而不是视频换句话说,我希望在我的应用程序中流式传输音频而不是视频。听起来您已经完成了大部分工作。您的应用程序可以列出视频并下载选定的视频。您只需要一个直接从视频文件播放音频的基础设施 YouTube视频可以是FLV或MP4文件。在这些文件中可以是MP3或AAC音频(也可以使用其他一些音频编解码器,
YouTube视频可以是FLV或MP4文件。在这些文件中可以是MP3或AAC音频(也可以使用其他一些音频编解码器,但在YouTube上不会遇到)。这意味着您的应用程序需要知道如何直接分解FLV和MP4文件,以及如何将MP3和AAC音频直接解码到PCM。根据您的语言和平台,有一些库可以帮助您完成这些任务。请尝试使用以下代码从视频流中提取音频:
// 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();
我不相信YouTube只提供音频下载/流。如果您可以控制视频的播放方式,那么您可以简单地隐藏视频(并可能通过不解码来节省CPU电源),但我怀疑这是您所能做的最好的事情。还有,这是什么平台/语言?这可能很重要。
MediaPlayer
类在哪里?有外部图书馆吗?请多加解释。