2

Android 4.0.4 の Hackberry ボードで奇妙な問題が発生しました。フルスクリーンでビデオを再生する必要がありますが、アプリから再生するとビデオが非常に途切れ途切れになり、非常に遅くなります。デフォルトのメディア プレーヤーで同じ mp4 ビデオを再生すると、問題なく高速に動作します。私のSamsung S3の同じapkも、アプリ内とメディアプレーヤーで高速です.

これが私のレイアウトです

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

    <VideoView
           android:id="@+id/surface_view"
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:layout_centerInParent="true"/>

</RelativeLayout>

これは私がビデオを再生するために使用するコードです

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mVideoView = (VideoView) findViewById(R.id.surface_view);
mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.decart));
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();
mVideoView.start();

そしてマニフェスト

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="15" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:hardwareAccelerated="true"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    android:persistent="true" 
    android:largeHeap="true" >

    <activity
        android:name=".MainActivity"
        android:screenOrientation="landscape"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>

何か案が?

私もテストを行いました.ビデオをSD-CARDに入れれば問題ありません.未加工のリソースフォルダー内のファイルを使用すると、ビデオに問題があります. 以下は解決策のようですが、私にとっては良い解決策ではありません。

//NOT OK
mVideoView.setVideoURI(Uri.parse("android.resource://" + getPackageName() +"/"+R.raw.decart));

// OK
mVideoView.setVideoURI(Uri.parse(new File("/sdcard/decart.mp4").toString()));

皆さん、よろしくお願いします

4

1 に答える 1

1

ここから問題を理解する限り、ビデオ自体とは何の関係もありません。これは単に、両方のソースから達成できるスループットです。android.resource:// にはパフォーマンスの問題があるようですが、単純なファイル アクセスには問題はありません。

単純に両方のソースからファイルを読み取り、読み取り速度を測定して、原因が本当に I/O スループットであるかどうかを確認することができます。

于 2012-12-02T18:41:11.493 に答える