安卓媒体播放器不工作

标签 android android-mediaplayer android-videoview

我正在尝试开发一个嵌入了许多视频的应用程序,我想调用 Android 的媒体播放器,并将视频放在 VideoView 对象上。但是,我收到这些奇怪的错误:

  • 我/MediaPlayer(2874):信息(1,26)
  • E/MediaPlayer( 2874): 错误 (-4,-4)
  • D/VideoView(2874):错误:-4,-4

当我尝试播放不是从手机录制的 mp4 视频或其他 3gp 视频时。我的代码是这样的:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;

public class PlayTest2 extends Activity{
private MediaController ctlr;
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.test2);

    try {
        VideoView video = (VideoView) findViewById(R.id.test2);
        // Load and start the movie
                video.setVideoPath("android.resource://com.example.child.protector/raw/output");
        ctlr=new MediaController(this);
        ctlr.setMediaPlayer(video);
        video.setMediaController(ctlr);
        video.start();
        //video.requestFocus();//this line is new
    }
    catch (Exception e) {
       Log.e("---------- this is my app --------", "error: " + e.getMessage(), e);

    }
}
}

我的布局是这样的:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<VideoView
android:id="@+id/test2"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
/>
</FrameLayout>

我的代码有问题吗?

而且我知道我的文件就在那里。我用示例 3GP 视频运行了这段代码,它工作得很好(但我从我的手机录制了视频并将其复制到我的电脑,然后重新打包到我的应用程序中,在 Eclipse 的/res/raw 文件夹下).但是,问题是出于某种原因,我的媒体播放器只能播放某些 3GPP 文件。如果我尝试使用 MobileMediaConverter 将 MP4 转换为 3GP,它会在我的笔记本电脑上播放,但不会在此应用程序中播放。另请注意,如果我将视频作为文件打开(换句话说,调用我的三星 Galaxy S 手机上的默认视频播放器),它就可以正常工作(这意味着我的手机具有该功能)。所以我想知道:

  • 代码有问题吗?
  • 这更像是将 mp4 转换为 3gp 的错误吗?

如有任何帮助,我们将不胜感激。谢谢!!

最佳答案

问题是某些转换器(具有不同设置)将创建一个无法在我的 Samsung Galaxy android 设备上运行的视频文件。这里的代码是通用的,但我认为在进行视频转换时编解码器必须类似于 H.264。然后我下载了大约 5 个视频转换器,其中 2 个实际上可以制作我的设备可以播放的 3GPP。所以如果其他人有这个问题,我建议尝试使用不同的编解码器/音频设置的一堆视频转换器。我最终找到了适合我的特定情况的方法

关于安卓媒体播放器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6159518/

相关文章:

android - 如何将数据发送到wifi打印机

java - 在Android中用java代码访问mysql

android videoview错误1,-2147483648

android - Android 设备上的 RTSP 服务器的可能性?

Android VideoView 纵向全屏

android - 数据绑定(bind)错误 : Only one layout element and one data element are allowed.

android - 用于在 Android 中启动 Activity 的自定义动画未按预期工作

android - 获取在Android Media Player中播放的音频的幅度或频率

安卓媒体播放器 RTSP

android - android中的视频录制错误