在 Android 上播放来自 Internet 的视频时使用啥格式?

Posted

技术标签:

【中文标题】在 Android 上播放来自 Internet 的视频时使用啥格式?【英文标题】:What format to use for playing video from Internet on Android?在 Android 上播放来自 Internet 的视频时使用什么格式? 【发布时间】:2011-12-20 10:35:54 【问题描述】:

我正在尝试使用以下代码将视频加载到 VideoViewMediaController

video.setVideoURI(Uri.parse(uri));
          
mediaController = new MediaController(this);
mediaController.setMediaPlayer(video);
mediaController.setAnchorView(footer);
video.setMediaController(mediaController);
video.requestFocus();
video.start();

如果我使用 .3gp 文件(例如 this),它会播放。但是我的 MP4 文件无法播放,只是弹出一个对话框:

抱歉,无法播放此视频

我接受视频的格式可能不正确,因为我没有让同事这样做。视频应该是什么格式?

我通常使用 Handbrake 并且正在运行 Ubuntu。

当前格式:

视频:

尺寸:1024 x 624

编解码器:H.264 /AVC

帧率:每秒 30 帧

比特率:1307kbps

音频:

编解码器:MPEG-4 AAC 音频

声道:立体声

采样率:44100 赫兹

比特率:63kbps

以下是 LogCat 作为资源播放时的一些错误:

12-20 10:54:26.120: I/MediaPlayer(27966): uri is:android.resource://com.android.player/2130968576
12-20 10:54:26.120: I/MediaPlayer(27966): path is null
12-20 10:54:26.160: E/MediaPlayer(27966): Unable to to create media player
12-20 10:54:26.160: D/MediaPlayer(27966): Couldn't open file on client side, trying server side
12-20 10:54:26.160: I/MediaPlayer(27966): prepareAsync called in state 4
12-20 10:54:26.160: E/MediaPlayer(27966): error (1, -2147483648)
12-20 10:54:26.210: E/MediaPlayer(27966): Error (1,-2147483648)
12-20 10:54:26.210: D/VideoView(27966): Error: 1,-2147483648

【问题讨论】:

运行 Honeycomb 3.1 的三星 Galaxy Tab 10.1 (16GB) - 我知道它在模拟器中不起作用。 媒体格式没有问题,AFAICS,但 Android 上的视频流是无法形容的破碎和随机。作为测试,尝试将您的 .mp4 剪辑复制到 sdcard 并从那里加载。 正如你提到的媒体格式,android 支持,而且三星 Galaxy Tab 10.1 也支持 .mp4 格式..所以尝试在你的 Galaxy 标签上播放来自 sdcard 的其他 .mp4 视频.. 【参考方案1】:

我有过这样的瞬间,发现视频托管在 Amazon S3 上。将其上传到我们的 IIS Web 服务器并开始播放!

【讨论】:

以上是关于在 Android 上播放来自 Internet 的视频时使用啥格式?的主要内容,如果未能解决你的问题,请参考以下文章

无法在android的videoview中播放来自url的视频如何在videoview中播放来自URL的视频?

Android 语音通话录音无法在系统上播放

如何在android的webview上播放音频?

在没有 MediaPlayer 的情况下在 android 上播放实时媒体流

如何在 android 中播放来自 URL 的流媒体视频?

Android - 查找当前是不是正在播放音频并停止它