Android:如何从资源文件夹运行视频

时间:2012-04-18 13:45:52

标签: android

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

这是代码

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(); 
}
}

当我尝试运行它时显示一个力关闭,并且logcat在第28行显示错误NULLPOINTEREXCEPTION 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>

3 个答案:

答案 0 :(得分:1)

您是否检查过uri是否为null

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

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

如果Toast通知显示,则URI无法正确解析

答案 1 :(得分:0)

我没有看到任何问题。但我想告诉你一些建议

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

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

直到那个时候试试这个

答案 2 :(得分:0)

试试这个示例代码:

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