我见过几个与此类似的问题,但我想确定.. 我无法在我的模拟器上运行视频。它一致吗?有没有人成功在模拟器上运行视频?
以下是我使用的代码:
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;
public class TTTTest extends Activity {
/** Called when the activity is first created. */
private MediaController mc;
VideoView vd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
vd = (VideoView) findViewById(R.id.VideoView);
Uri uri = Uri.parse("android.resource://" + getPackageName() + R.raw.samplevideo);
mc = new MediaController(this);
vd.setMediaController(mc);
vd.setVideoURI(uri);
vd.start();
}
}
“samplevideo”是mp4或3gp(两种情况下都不起作用)
main.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"
>
<VideoView android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/VideoView"></VideoView>
</LinearLayout>
并且清单是默认清单。 如果我的代码有问题,有人可以告诉我吗? 附:我正在使用android 2.2环境运行模拟器。
答案 0 :(得分:4)
模拟器在播放某些视频时确实存在问题,因此我总是在实际设备上进行所有视频测试。当视频在模拟器上工作时,它通常非常慢(1fps,偏移声音)。我还建议不要将视频存储在APK中,但是,我认为你的包名后需要另一个斜杠:
Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.samplevideo);