我尝试了几个不同的例子,但我无法显示任何视频.我听到声音但没有视频.我想也许我只是有一个不正确的视频格式,所以我下载了一个3gp格式的法国商业广告,但仍然没有乐趣.我正在使用带有
android sdk的
Eclipse Java EE,我的应用程序的目标是1.5 sdk(Api Level 3)而没有Google Api.有人可以发布链接到已知在
Android中播放的视频或指出我的代码问题.我已经尝试了所有我能想到的…有/没有准备..不同的布局等.
这是我在活动中的onCreate
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.setContentView(R.layout.video_test);
SurfaceView v = (SurfaceView) findViewById(R.id.surface_video);
SurfaceHolder holder = v.getHolder();
// Set the transparency
//getwindow().setFormat(PixelFormat.UNKNowN);
// Set a size for the video screen
//holder.addCallback(this);
holder.setFixedSize(400,300);
MediaPlayer mp = MediaPlayer.create(this,R.raw.fiat);
mp.setdisplay(holder);
//mp.setAudioStreamType(2);
try {
//mp.prepare();
mp.start();
} catch (IllegalStateException e) {
// Todo Auto-generated catch block
e.printstacktrace();
}
她是video_test.xml中的布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <SurfaceView android:id="@+id/surface_video" android:layout_width="250px" android:layout_height="250px"> </SurfaceView> <LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent" android:padding="10dip" > </LinearLayout> </LinearLayout>
>大段引用
解决方法
如果您使用的是模拟器,则可能无效.模拟器缺少Android设备中可用的硬件加速.例如,在2.6GHz Core 2 Duo上,我有时可以播放视频,但并非总是如此.在较慢的机器上,视频播放永远不会奏效在2.5GHz Core 2 Quad上,我总是可以播放视频.话虽这么说,我通常会在实际设备上测试视频播放.
我也不确定视频播放是否来自原始资源.我强烈建议您先尝试使用SD卡上的文件中的视频.
对于绝对有效的视频,我知道here的“纪录片和你”以及“我们的孙子们的音乐”都是以他们的MP4形式工作的.