Android的soundpool.play[文档][1]说“播放速率允许应用程序改变声音的播放速率(音调)。值1.0表示播放以原始频率播放。值为2.0表示播放速度加倍,值为0.5表示播放速度减半。”。但是,当我将速率设置为1.49f时,我听到了静音。1.485f正确呈现(它是ogg文件)。这是否特定于我的手机,文档是否有误,还是我在其他方面很愚蠢?[1]:http://developer.android.com/reference/android/media/SoundPool.html#play(int,float,float,整数,整数,float)
我正在开发一个应用程序,当一个新Activity开始时,它应该开始播放声音。所以我使用mediaplayer在oncreate中播放声音并且效果很好。但是当我尝试使用soundpool时,通过在Activity的oncreate中加载和播放它。它不是在玩。我选择soundpool,因为它比mediaplayer好。可能是什么问题?soundpool在oncreate中不起作用吗? 最佳答案 也许您只需要在onCreate方法中hibernate。我在尝试编写有时需要在唤醒后立即播放声音的应用程序时遇到了几乎相同的问题。最终经过多次试
是否有可靠的方法来防止声音池中的声音被截断?我在声音之间的sleep()函数上取得了一些成功,但它们有时仍然会在开始另一个声音之前错过最后一点声音。我的应用程序按顺序播放短音。杰瑞 最佳答案 虽然这是一个老问题,但我想我会在这里发布一些东西,因为我无法在网上找到解决这个问题的方法,但确实提出了一些解决方案......我在我的应用程序启动时获取每个声音的持续时间(使用MediaPlayer),并将R.id.sound_name值和持续时间存储在一起。然后我可以使用SoundPool播放声音。获取时长的代码:privatelongget
我正在尝试从android加载声音。声音在res/raw/myownsound.wav下。我知道我已经可以使用以下方式加载声音:soundPool.load(context,R.raw.myownsound,1)出于自定义目的,我想使用以下方式加载它:soundPool.load("res/raw/myownsound",1)...但我收到以下错误:errorloadingres/raw/myownsound。我还尝试了以下方法:soundPool.loadSound("android.resource://upg.GraphismeBase/raw/myownsound",1)..但
我制作了一个SoundManager类,它使用SoundPool函数来循环特定的声音,但是我不明白为什么它不播放声音。publicclassSoundManager{privateSoundPoolmSoundPool;privateHashMapmSoundPoolMap;privateAudioManagermAudioManager;privateContextmContext;publicSoundManager(){}publicvoidinitSounds(ContexttheContext){mContext=theContext;mSoundPool=newSoundP
SoundPool在Android1.6上正常工作,但是当我在模拟器中运行2.1时,每次我尝试播放声音时都会收到“sample2notREADY”错误消息。我该如何解决这个问题? 最佳答案 Android2.0及更高版本上的SoundPool仅适用于OGGVorbis文件。如果您使用的是MP3等,它们将无法解码。 关于android-警告/SoundPool示例2未就绪,我们在StackOverflow上找到一个类似的问题: https://stackover
我想播放sdcard中的音频文件。如何读取音频文件并播放?下面是我播放音频文件的代码:intsound1;sound1=mSoundPool.load(this,R.raw.om,1);mSoundPool.play(sound1,1,1,1,time-1,1);在上面的代码中,我使用soundpool播放原始文件夹中的音频文件,但我需要使用soundpool播放sdcard中的音频文件。现在有兴趣播放sdcard中的音频。如何实现?请帮助我尽快解决这个问题 最佳答案 使用下面对我有用的代码。MediaPlayermp=newMed
我知道SoundPool旨在处理小的fx之类的声音,并且我确保我想按某个顺序一个接一个地播放的4个声音fragment足够小。我使用ogg质量0,剪辑为35kb、14kb、21kb和23kb,总共92kb的压缩音频。我不知道如何估计未压缩的大小,但应该不会很多,对吧?因此,当我按顺序播放4个声音时,它在前9次(9个序列x4个声音)中运行良好,但开始导致其中一个声音的9序列出现内存问题。当我开始看到错误时,它总是序列9。处理该问题的最佳方法是什么?我有几个想法:1)进一步压缩声音(ogg质量-1和单声道而不是立体声)2)使用SoundPool.load和SoundPool.unload不
我搜索了StackOverflow,找不到像我这样的情况。我使用了四个按钮,每个按钮播放一个声音文件。我正在使用SoundPool:SoundPoolsound=newSoundPool(4,AudioManager.STREAM_MUSIC,0);我还在使用OnLoadCompleteListener(),它使用Log在LogCat中创建I通知。当我在模拟器中启动该程序时,我看到所有四个示例都已完成加载。在节目中会播放三种声音,但是,其中一种总是会说:WARN/SoundPool(4842):样本0未就绪任何想法..因为我很惊讶。声音文件是播放方波音调的16位pcm波形文件。加载代码
我正在使用以下代码在我的应用中播放声音。在ICS之前一切正常。但是在ICS和更新的版本上,虽然没有出现错误,但听不到任何声音。编辑:请注意,以下代码是由广播接收器触发的。BroadCast接收器调用异步任务。在异步任务的后处理方法中,调用了以下方法。此错误仅发生在特定的移动型号(例如nexus)上,并且在某些型号上,用户能够播放股票操作系统附带的声音,但不能播放他们自己放置在rigtones文件夹中的声音。我无法了解特定手机上发生的问题可能是什么错误?publicstaticvoidplaySound(finalContextcontext,finalintvolume,Uriur