2

私のアプリケーションは、MP3ファイルをたくさん使用しているため、50MBを超えています。私は典型的にこれを行います...

uri = Uri.parse("android.resource://red.cricket.RecordAlbum/" + R.raw.track_001_64kb );

...しかし、APK拡張ファイルを使用する必要がある場合は、上記のコード行を変更する必要があると思います。しかし、何に変更しますか?どんな助けでも大歓迎です!

編集1)あなたの答えをありがとうテッド。私は次のように拡張ファイルを作成しました:

red@ubuntu:~/android/workspace/Album/res/raw$ zip -n .mp3 main.1.com.redcricket.Album.obb *mp3

だから私は今何をしますか?rm -f *mp3; cd ../..; ant clean ; ant debug どういうわけか私はそれがうまくいくとは思わない。ファイルはどこに置きmain.1.com.redcricket.Album.obbますか?

4

1 に答える 1

1

手順はdocsにかなり明確に配置されています。手順の概要は次のとおりです。

  1. .apk から .mp3 ファイルを削除し、拡張ファイルに入れます。指示に従って拡張ファイルに名前を付けます。ファイルの形式は何でもかまいませんが、ドキュメントでは、オーディオ ファイルには圧縮されていない ZIP 形式を使用することをお勧めします。Android には、解凍せずに .mp3 ファイルを ZIP ファイルから直接ロードするために使用できるAPK 拡張 ZIP ライブラリが含まれています。
  2. 場所で拡張ファイルを探すようにアプリを書き直します

    Context ctx = getContext();  
    String loc = ctx.getExternalStorageDirectory()
             + "/Android/obb/" + ctx.getPackageName();
    
  3. ファイルがそこにない場合、ドキュメントに記載されているようにアプリケーション ライセンス サービスを使用して、アプリが Google Play からファイルをダウンロードするようにコードを記述します。このステップには、かなりの量のコーディングと構成が含まれます。

  4. APK 拡張 ZIP ライブラリを使用して、必要な .mp3 ファイルにアクセスします。ドキュメントには、ファイル記述子、ZIP ファイルへのオフセット、およびファイル長を指定してMediaPlayer.setDataSource()を呼び出して、拡張ファイルから MP3 をロードする例があります。

これらすべてを行う方法の詳細については、このスレッドも参照してください。

于 2013-03-18T03:56:02.050 に答える