2014-11-25 47 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。

谢谢

相关问题