2014-11-25 54 views
1

我可以使用Android鈴聲管理器播放存在於資產中的音調嗎?我知道我可以使用在res文件夾下面的方式複製了口氣:如何使用Android鈴聲管理器從資產文件夾中播放音調?

Uri inAppsoundUri = Uri.parse("android.resource://" 
      + mAppContext.getPackageName() + "/raw/" + tone);** 
ringTone = RingtoneManager.getRingtone(mAppContext, 
        inAppsoundUri);** 
ringTone.play(); 

但是當我試圖在inAppsoundUri與/assets/更換/raw/,它導致錯誤。其實我想複製音調到Sdcard也爲一些應用程序的具體用法,我必須保持這些音調文件的資產,有時我必須通過鈴聲管理器播放它,我必須在Res中複製相同的文件/原始文件夾。所以沒有必要在APK中存在2個相同音調文件的副本,這會導致更大的apk大小。那麼你能不能建議使用這種方法來完成這兩個功能(即複製到SD卡和使用Android Ringtone mnager播放)?

+0

可以請您發佈錯誤日誌嗎? – 2014-11-25 10:39:11

+0

即使文件是res/raw,也可以將它們複製到外部存儲器。打開一個InputStream。進一步的代碼,如從資產複製到SD卡。 – greenapps 2014-11-25 10:40:14

+0

[資產目錄中播放音頻文件]的可能重複(http://stackoverflow.com/questions/3289038/play-audio-file-from-the-assets-directory) – BSKANIA 2014-11-25 11:05:14

回答

-1

我檢查它,但我認爲它可以幫助你。

Uri inAppsoundUri = Uri.parse("file:///android_asset/tone.mp3"); 

並在斷言文件夾中放置tone.mp3。

謝謝

相關問題