Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 如何在我的应用程序上仅从youtube视频流式传输音频数据?_Video_Youtube_Youtube Api_Video Streaming_Html5 Audio - Fatal编程技术网

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
类在哪里?有外部图书馆吗?请多加解释。