为什么我在模拟器中看不到视频?

2024-05-02

我见过几个与此类似的问题,但我想确定一下.. 我无法在模拟器上运行视频。是否一致?有人在模拟器上成功运行视频吗?

以下是我使用的代码:

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


模拟器在播放某些视频时确实存在问题,因此我始终在实际设备上进行所有视频测试。当视频在模拟器上运行时,它通常充其量非常慢(1fps,偏移声音)。我还建议不要将视频存储在 APK 中,但是,我相信您在包名称后需要另一个斜杠:

Uri uri = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.samplevideo);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么我在模拟器中看不到视频? 的相关文章

随机推荐