以下是我尝试的方法:
try {
MediaPlayer mediaPlayer = MediaPlayer.create(context.getActivity().getBaseContext(), R.raw.mysound);
mediaPlayer.start();
} catch(Exception e) { Log.d("no sound",e.getMessage()); }
(mysound.mp3位于Eclipse项目的res / raw /文件夹中)
我将声音文件打包到platform.xml中的.ane,如下所示:
<packagedResource>
<packageName>com.myname.androidextension</packageName>
<folderName>res</folderName>
</packagedResource>
在Android-ARM / res / raw / mysound.mp3中有mysound.mp3文件
当我检查.ane文件时,mp3就在里面。
但是当我在手机上运行应用程序时,我听不到声音,相反,我得到一个奇怪的LogCat线:
no sound | File res/layout/main.xml from drawable resource ID #0x7f030002
我不明白。由于它是播放声音的原生扩展,我不需要任何布局,并且我的项目中没有main.xml。
谷歌搜索疯狂,但无法找到我能用的任何东西。
这是什么意思,我怎样才能播放声音?
谢谢!
更新:我已将扩展项目标记为库并更改了某些内容,现在LogCat显示此行而非上一行:
no sound | File res/raw/mysound.mp3 from drawable resource ID #0x7f040007
所以没有更神秘的main.xml和id已经改变。我检查了R.java的来源,里面有一条线:
public static int mysound=0x7f030002;
所以LogCat和R.java中的ID不匹配,但这是什么意思?