0

我创建了一个 Google TV 应用程序,可以播放存储在该res/raw文件夹中的两个本地视频。应用程序开始运行良好,但随后随机锁定。锁定后,我收到“抱歉,无法播放此视频”。当我尝试重新启动应用程序时出现消息。不仅我的应用程序受到影响,而且所有其他应用程序的视频播放似乎都像 YouTube 应用程序一样受到影响。即使重新启动系统,错误仍然存​​在。有没有其他人遇到过这样的事情,或者知道可能是什么原因造成的?

这是我在 SonyNSZ-GS7 上运行的代码:

MainActivity:_

public class MainActivity extends Activity {

    int currentVideo = R.raw.ahwvideo;
    VideoView videoView;

    @SuppressLint("DefaultLocale")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);     
        setContentView(R.layout.activity_main);

        // Code to Display Video
        videoView = (VideoView)findViewById(R.id.VideoView);          
        videoView.setVideoURI(Uri.parse(
                "android.resource://" + getPackageName() +"/"+R.raw.ahwvideo1));
        videoView.setMediaController(new MediaController(this));
        videoView.requestFocus();       
        videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

            public void onCompletion(MediaPlayer mp) {
                switchVideo(videoView);
                videoView.start();
            }
        });

        videoView.start();
    }

    public void switchVideo(VideoView videoView) {
        if (currentVideo == R.raw.ahwvideo1) {
            videoView.setVideoURI(Uri.parse("android.resource://"
                    + getPackageName() +"/"+R.raw.ahwvideo2));
            currentVideo = R.raw.ahwvideo2;
        } else {
            videoView.setVideoURI(Uri.parse("android.resource://"
                    + getPackageName() +"/"+R.raw.ahwvideo1));
            currentVideo = R.raw.ahwvideo1;
        }
    }
}

和布局activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity" >

    <VideoView
        android:id="@+id/VideoView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</RelativeLayout>
4

2 回答 2

0

不知道这是否真的很重要,但视频名称似乎有错误:

videoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.video2));

应该是:R.raw.* ahw *video2

于 2013-03-27T20:09:23.650 回答
0

在 switchVideo() 中,在开头添加:

videoView.setVisibility(View.GONE);

最后:

videoView.setVisibility(View.VISIBLE);

以便它包含 setVideoURI()。我知道,这似乎很奇怪,但试一试,看看它是否有所作为。

于 2013-03-27T21:10:46.807 回答