簡體   English   中英

將我的res / raw包中的mp3添加到Android的鈴聲列表中

[英]Adding a mp3 from my res/raw of package into the Ringtone List of Android

如何在應用程序的res / raw中將mp3添加到Android鈴聲列表中。 我不想播放,但要將其添加到鈴聲列表中。 一直在閱讀一些話題,但仍然很困惑。

只需將所有鈴聲添加到某個文件夾(必須先創建文件夾)

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

如果您只想從“鈴聲選擇器”中選擇通知,則應將原始mp3文件復制到通知文件夾。 這是命名約定。 然后當您像這樣設置鈴聲選擇器時

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

僅當文件位於名稱為notifications的文件夾中時,您才會看到文件。

更新:

忘了提一下,您應該在添加一些新的鈴聲/通知后掃描sdcard。 例如:

    mContext.sendBroadcast (
            new Intent(Intent.ACTION_MEDIA_MOUNTED,
                    Uri.parse("file://" + Environment.getExternalStorageDirectory()))
    );

如果您不介意要復制的文件,則包含該文件的一種簡單方法是讓您的應用程序將文件拖放到SD卡上的以下位置:

[/ sdcard] /媒體/鈴聲

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM