如何从 SD 卡播放视频文件

Posted

技术标签:

【中文标题】如何从 SD 卡播放视频文件【英文标题】:How to play a video file from SD card 【发布时间】:2012-07-10 04:27:54 【问题描述】:

我想在 android 模拟器上播放我存储在 sd 卡中的视频文件。 这是我的代码..

public class AndroidVideoViewActivity extends Activity 

    private VideoView videoView=null;
    private String PATH="mnt/sdcard/bmxskills.3gp";
    private MediaPlayer mediaPlayer=null;
    private MediaController mediaController=null;
    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        VideoView videoView=(VideoView)findViewById(R.id.videoView);
        videoView.setVideoPath("mnt/sdcard/bmxskills.3gp");

        videoView.setMediaController(mediaController);
        videoView.requestFocus();
        videoView.start();

    

但是当我在模拟器上运行时,它显示空白屏幕。请帮助。我已添加所需的权限,即互联网和外部存储。

【问题讨论】:

@Sunjay 你检查我的答案了吗? @Nik 我检查了你的答案,但我仍然得到相同的结果。我必须创建一个视频播放器还是 android 有一个内置的视频播放器来播放视频? @Sunjay 请在设备中检查。 您使用的是哪个模拟器? arm 模拟器很慢,如果你使用 x86 模拟器,你应该不会有那么多问题 我已经创建了 raw 文件夹,我已经放了视频和它的工作。现在我想添加很多视频怎么办?谢谢... 【参考方案1】:

请查看this link

替换videoView.setVideoPath("mnt/sdcard/bmxskills.3gp");

videoView.setVideoPath("/sdcard/bmxskills.3gp");

【讨论】:

【参考方案2】:

使用下面的代码。

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_
    android:layout_>
    <TextView
        android:layout_
        android:layout_
        android:text="@string/hello"/>
    <LinearLayout
        android:orientation="vertical"
        android:layout_
        android:layout_>
        <VideoView
            android:id="@+id/myvideoview"
            android:layout_
            android:layout_/>
    </LinearLayout>
</LinearLayout>

MainActivity.java

public class MainActivity extends Activity 

    String SrcPath = "/sdcard/Video/Android in Spaaaaaace!_low.mp4";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview);
        myVideoView.setVideoPath(SrcPath);
        myVideoView.setMediaController(new MediaController(this));
        myVideoView.requestFocus();
        myVideoView.start();
    

【讨论】:

【参考方案3】:

您不应该在模拟器本身上测试正在运行的视频,如果您周围有设备,请改用它。 Android 模拟器在正确处理视频方面非常糟糕,因此您可能会遇到很多通常不会在任何 Android 设备上出现的问题。

【讨论】:

以上是关于如何从 SD 卡播放视频文件的主要内容,如果未能解决你的问题,请参考以下文章

Android 2.2:从 SD 卡播放视频时出现问题

从 sd 卡创建播放列表并将其发送到 Chromecast

和家亲摄像头sd卡内视频通过电脑播放读取方式

和家亲摄像头sd卡内视频通过电脑播放读取方式

和家亲摄像头sd卡内视频通过电脑播放读取方式

如何在 Android 中播放加密的视频文件