在 Android 上播放来自 Internet 的视频时使用啥格式?
Posted
技术标签:
【中文标题】在 Android 上播放来自 Internet 的视频时使用啥格式?【英文标题】:What format to use for playing video from Internet on Android?在 Android 上播放来自 Internet 的视频时使用什么格式? 【发布时间】:2011-12-20 10:35:54 【问题描述】:我正在尝试使用以下代码将视频加载到 VideoView
和 MediaController
:
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的视频?