階層イメージ、マニフェスト、xml、javaを添付しました
内部ストレージに画像とビデオがあります。アプリケーションの 1 つのアクティビティで、画像を表示します。できます。他のアクティビティでは、ビデオを見せます。「申し訳ありませんが、このビデオは再生できません」というメッセージが表示され、次のように返されます。
10-11 12:58:50.889: E/MediaPlayer(23497): Error (1,-2147483648)
ビデオが /mnt/sdcard/.. にあるかのように、許可の問題である可能性があるようです。言われたとおりに動作します。これらのビデオは変更されないため、誰かが /data/data/.... にある内部ストレージに配置することにしました。
画像を参照していた方法が原因である可能性があると思いますが、同じアプリであるため、この問題は呼び出されるべきではありません。/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();