2

アプリケーションの res/raw にある mp3 を Android 着信音リストに追加するにはどうすればよいですか。再生したくありませんが、着信音リストに追加します。いくつかのトピックを読んでいますが、まだ非常に混乱しています。

4

2 に答える 2

0

すべての着信音をいくつかのフォルダーに追加するだけです (フォルダーを最初に作成する必要があります)。

InputStream in = getResources().openRawResource(R.raw.ringtone1);
FileOutputStream out = new FileOutputStream("/mnt/sdcard/media/ringtones/ringtone1.mp3");
byte[] buff = new byte[1024];
int read = 0;

try {
   while ((read = in.read(buff)) > 0) {
      out.write(buff, 0, read);
   }
} finally {
     in.close();

     out.close();
}

許可を追加することを忘れないでください

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Ringtone Picker からの通知のみを選択する場合は、生の mp3 ファイルを通知フォルダーにコピーする必要があります。命名規則です。次に、このように着メロピッカーを設定すると

Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
    RingtoneManager.TYPE_NOTIFICATION);

ファイルがnotificationsという名前のフォルダーにある場合にのみ、ファイルが表示されます。

更新しました:

新しい着信音/通知を追加した後、SD カードをスキャンする必要があることを忘れていました。たとえば、次のようにします。

    mContext.sendBroadcast (
            new Intent(Intent.ACTION_MEDIA_MOUNTED,
                    Uri.parse("file://" + Environment.getExternalStorageDirectory()))
    );
于 2012-11-11T15:14:47.810 に答える
0

ファイルがコピーされてもかまわない場合は、ファイルを含める簡単な方法は、アプリで SD カード上のファイルを次の場所にドロップすることです。

[/sdcard]/メディア/着信音

于 2011-07-26T18:27:42.773 に答える