错误(1,-2147483648)无法播放此视频

时间:2013-04-18 05:04:43

标签: android video format adt

我正在尝试播放.mp4视频文件,我已将其添加到raw文件夹中。 结果是我总是在LogCat中获得error (1, -2147483648)

经过一些研究后,我注意到这是由不受支持的编解码器/格式引起的。但过去两天我根据http://developer.android.com/guide/appendix/media-formats.html在Adobe Premiere中渲染了视频?在所有支持的格式和更多格式。结果总是相同:我得到错误和“无法播放此视频”。当应用程序启动时。

我的JAVA代码是:

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

       VideoView vv = (VideoView) findViewById(R.id.videoView);

       String fileName = "//BioLab/res/raw/sequence";

       vv.setVideoURI(Uri.parse(fileName));
       vv.start();

    }
}

主要活动是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >


<VideoView android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:id="@+id/videoView"/>

</RelativeLayout>

我看过他们播放全屏视频的游戏,比如公司徽标视频。他们是如何做到的呢?必须有一种普遍的方式。

注意:我在java代码中使用路径"//BioLab/res/raw/sequence",因为如果我使用"/BioLab/res/raw/sequence.mp4"“android.resource://” + getPackageName() +”/”+R.raw.video我会在

中收到另一个错误

Logcat:error opening trace file: No such file or directory (2)

1 个答案:

答案 0 :(得分:-1)

error (1, -2147483648)通常表示您为MediaPlayer提供的链接(在您的情况下为视频视图)无效或文件已损坏。
你试图从你的RAW文件夹中获取文件的方式很可疑 尝试以下方法。
我假设您尝试播放的文件的名称是序列。**

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        setContentView(R.layout.activity_main);

       VideoView vv = (VideoView) findViewById(R.id.videoView);
       String path = "android.resource://" + getPackageName() +"/"+ R.raw.sequence;
       Log.d("TAG", path);

       Uri url=Uri.parse(path);

       vv.setVideoURI(url);
       vv.start();
       vv.requestFocus();

    }
}