为什么在模拟器中无法看到视频?

3

我看到了一些类似于这个问题的提问,但是我想要确认一下...

我在模拟器上无法运行视频。这是常见问题吗?有人成功在模拟器上运行过视频吗?

以下是我使用的代码:

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环境运行模拟器。


请在此处发布您遇到的问题并格式化代码。 - Vikas Patidar
我遇到了“抱歉,无法播放此视频”的错误。 - amigal
我认为模拟器存在问题,因为在设备上运行应用程序时视频可以播放,但在模拟器上却不能。 - AjOnFire
1个回答

5

模拟器在播放某些视频时会出现问题,因此我始终在实际设备上进行所有视频测试。当模拟器上的视频可以正常播放时,通常速度极慢(最多1fps,声音不同步)。我还建议不要将视频存储在APK中,但是,话说回来,在包名称后面需要再加一个斜杠:

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.samplevideo);

1
谢谢您的回复。我已经弄清楚了(斜杆问题)。现在我可以运行3gp文件了,但mp4视频仍然无法运行。 - amigal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接