2

我已经看到了与我类似的其他问题,但问题仍然存在。提前致谢。

这是代码

package com.akk.mysecondvideo;

import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.widget.VideoView;

public class MySecondVideo extends Activity {

Context context;
MediaPlayer mp;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    VideoView videoView = (VideoView)findViewById(R.id.VideoView);
    //MediaController mediaController = new MediaController(this);
    // mediaController.setAnchorView(videoView);
    //videoView.setMediaController(mediaController);

    Uri uri = Uri.parse("android.resource://com.akk.mysecondvideo/"
            + R.raw.bommarillu);

    videoView.setVideoURI(uri);

    //mp = new MediaPlayer();
    //mp = MediaPlayer.create(context, R.raw.bommarillu);


    videoView.start(); 
}
}

当我尝试运行它时,它显示强制关闭,并且 logcatNULLPOINTEREXCEPTION在第 28 行显示错误,即videoView.setVideoURI(uri);

VideoView 是 main.xml 的一部分。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" />
</LinearLayout>
4

3 回答 3

1

你检查看看uri是不是null

尝试在之前添加此行videoView.setVidoeURI(uri)

if (null == uri)
   Toast.makeText(this, "URI IS NULL", Toast.LENGTH_LONG).show();

如果显示 toast 通知,则 URI 未正确解析

于 2012-04-18T13:52:10.017 回答
0

试试这个示例代码:

Uri uri = Uri.parse("android.resource://com.akk.mysecondvideo/raw/bommarillu");
于 2012-04-18T19:36:33.800 回答
0

我不认为有任何问题。但是我想告诉你一些建议

  • 在 XML 中为小部件命名与小部件名称不同,例如 myVideoView 而不是 VideoView
  • videoView.setMediaController(new MediaController(this));
  • videoView.requestFocus();

检查这是否有效。我的代码与您相同,我将创建一个项目并为您提供输入。

到时候试试这个

于 2012-04-18T14:12:00.210 回答