我正在尝试播放.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)
答案 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();
}
}