0

ユーザーがアプリ内ビデオ (アプリケーションに既にパッケージ化されているビデオ) を再生できるアプリを作成しようとしています。いいえSDCard、またはオンライン ストリーミングが進行中です。

しかし、どの戦略を使用しても.mp4、アプリで単純なビデオを実行することはできません。assestsビデオをフォルダに入れようとしましたが、うまくいきません。res/rawビデオをフォルダに入れようとしましたが、やはりうまくいきません。

アプリを実行するたびに、このビデオを再生できません。

以前VideoViewはビデオを実行するためだけに使用していましたが、現在MediaControllerVideoViewエラーメッセージが表示され続けています

かなり長い間困っているので助けてください。どのソリューションを使用しても、簡単なビデオを実行できません。

私の活動コード:

    public class MainActivity extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            MediaController mediac;
            VideoView video1;
            mediac = new MediaController(this);        
            video1 = (VideoView) findViewById(R.id.vv01);
            video1.setMediaController(mediac);
            mediac.setAnchorView(video1);

            video1.setVideoURI(Uri.parse("android.resource://com.example.test/raw/aa"));
video1.start();

        } 

私のxmlファイル:

<LinearLayout 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" >


    <VideoView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/vv01"
        android:contentDescription="@string/app_name"
        />

</LinearLayout>

アプリケーションを実行しようとしたときのログの猫:

08-26 13:27:31.023: I/dalvikvm(624): threadid=3: reacting to signal 3
08-26 13:27:31.593: I/dalvikvm(624): Wrote stack traces to '/data/anr/traces.txt'
08-26 13:27:31.643: I/dalvikvm(624): threadid=3: reacting to signal 3
08-26 13:27:31.913: I/dalvikvm(624): Wrote stack traces to '/data/anr/traces.txt'
08-26 13:27:31.923: D/dalvikvm(624): GC_CONCURRENT freed 147K, 3% free 9345K/9607K, paused 7ms+7ms
08-26 13:27:32.053: I/dalvikvm(624): threadid=3: reacting to signal 3
08-26 13:27:32.083: I/dalvikvm(624): Wrote stack traces to '/data/anr/traces.txt'
08-26 13:27:32.533: I/dalvikvm(624): threadid=3: reacting to signal 3
08-26 13:27:32.564: I/dalvikvm(624): Wrote stack traces to '/data/anr/traces.txt'
08-26 13:27:33.033: I/dalvikvm(624): threadid=3: reacting to signal 3
08-26 13:27:33.063: I/dalvikvm(624): Wrote stack traces to '/data/anr/traces.txt'
08-26 13:27:33.613: D/MediaPlayer(624): getMetadata
08-26 13:27:33.973: E/MediaPlayer(624): error (1, -2147483648)
08-26 13:27:34.093: E/MediaPlayer(624): Error (1,-2147483648)
08-26 13:27:34.093: D/VideoView(624): Error: 1,-2147483648
4

1 に答える 1

0

onStart の外で VideoView を宣言する必要があります (および Media Controller も)。

それでもうまくいかない場合は、各コマンドに try/catch を使用し、Log.e を使用します。

于 2012-08-26T07:30:49.317 に答える