
我使用以下代码在Android模拟器中显示一个视频文件,当视频文件存储在SD卡中时它工作正常.但是当我给视频的任何URL代码不起作用时.
import androID.app.Activity;import androID.media.MediaPlayer;import androID.os.Bundle;import androID.vIEw.SurfaceHolder;import androID.vIEw.VIEw;import androID.Widget.*;public class playerActivity extends Activity {button b;VIDeoVIEw prevIEw;SurfaceHolder holder;MediaPlayer mp; private String path = "/data/data/payoda.androID/funny.mp4";//private String path = "http://www.daily3gp.com/vIDs/3.3gp";public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); prevIEw=(VIDeoVIEw)findVIEwByID(R.ID.surface); holder=prevIEw.getHolder(); b=(button)findVIEwByID(R.ID.cmd_play); b.setonClickListener(new VIEw.OnClickListener() { public voID onClick(VIEw v) { try { mp=new MediaPlayer(); mp.setDataSource(path); mp.setScreenOnWhilePlaying(true); mp.setdisplay(holder); mp.prepare(); mp.start(); } catch(Exception e) { } } });}}这个例外是:
prepare Failed:status=0xC8LogCat详细信息如下:
09-16 12:16:36.729: ERROR/PlayerDriver(542): Command PLAYER_INIT completed with an error or info PVMFErrContentInvalIDForProgressivePlayback09-16 12:16:36.739: ERROR/MediaPlayer(2867): error (200, -27)在上面的代码中如果更改路径变量,模拟器屏幕是黑色的单个按钮.可能我需要做更多的事情来显示远程URL中的视频,我不知道该怎么做.任何人都对此有所了解请帮我.
解决方法:
首先,不要使用模拟器来测试视频播放.它处理视频播放的能力非常有限.使用实际的AndroID设备.
其次,当遇到多媒体问题时,请始终检查LogCat(Eclipse中的adb logcat,DDMS或DDMS透视图)以获取警告. OpenCORE– AndroID使用的多媒体引擎 – 倾向于将错误级别的条件记录为警告.
例如,您的视频文件可能未设置为渐进式下载,这是http流式传输所必需的.在linux上,您可以通过安装MP4Box并运行MP4Box -hint< file>来修补MP4视频以进行渐进式下载.
总结以上是内存溢出为你收集整理的如何从远程URL在Android模拟器中显示视频?全部内容,希望文章能够帮你解决如何从远程URL在Android模拟器中显示视频?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)