我附加了层次结构图像、清单、xml、java
我的内部存储器中有图像和视频。在我的应用程序的 1 个活动中,我显示图像。有用。在另一项活动中,我展示了视频。我得到的只是“抱歉,无法播放此视频”并返回:
10-11 12:58:50.889: E/MediaPlayer(23497): Error (1,-2147483648)
似乎这可能是一个权限问题,就好像视频在 /mnt/sdcard/.. 它会完全按照它被告知的那样做。这些视频不得更改,因此有人决定将它们放入位于 /data/data/.... 的内部存储中。
我认为这可能是由于我引用图像的方式,但不应调用此问题,因为它是同一个应用程序。是否有我需要的特殊 Manifestflag 或从 /data/data/... 读取视频的东西?
应用布局:
-----------------------------------------
| Application |
| _/ \_ |
| ImageActivity Video Activity |
-----------------------------------------
显现:
<supports-screens
android:anyDensity="true"
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-feature android:name="android.hardware.microphone" android:required="true" />
<uses-feature android:name="android.hardware.wifi" android:required="true" />
<application
android:hardwareAccelerated="true"
android:debuggable="true"
android:icon="@drawable/pl_launcher"
android:label="@string/app_name" >
<activity
android:name="com.bentley.cordova.plugins.MediaPlaybackActivity"
android:launchMode="standard"
android:configChanges="orientation"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
</application>
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<VideoView
android:id="@+id/video"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
</LinearLayout>
爪哇:
path = this.getIntent().getStringExtra("path_name");
//path looks like: /data/data/com.XXXXX.viewer/folder/video.mp4
setContentView(R.layout.media_playback_video);
VideoView vv = (VideoView)findViewById(R.id.video);
vv.setMediaController(new MediaController(this));
vv.setVideoURI(Uri.parse(path));
vv.requestFocus();
vv.start();