简体   繁体   English

通过AudioManager在Android中播放音频?

[英]Playing Audio in Android via AudioManager?

I play a sound using: 我使用以下方式播放声音:

public class NotificationFunction implements FREFunction {
  public FREObject call(FREContext context, FREObject[] args) {
    Context appContext = context.getActivity().getApplicationContext();
    AudioManager mAudioManager = (AudioManager)     
    appContext.getSystemService(Context.AUDIO_SERVICE);
    mAudioManager.loadSoundEffects();
    mAudioManager.playSoundEffect(0);

It plays a default sound effect, how can I get it to play a custom sound effect. 它会播放默认的声音效果,如何才能播放自定义声音效果。

Also I have tried to implement sound pool but it doesnt work, I implemented it the standard way but it doesnt work. 我也尝试实现声音池,但是它不起作用,我以标准方式实现了它,但是它不起作用。 Any ideas why? 有什么想法吗? Or if I can use the audio manager for sounds instead? 或者,如果我可以使用音频管理器代替声音?

Check with following code 检查以下代码

using (AudioManager am= (AudioManager)WebViewActivity.Instance.GetSystemService(Context.AudioService))
        {
            int maxVol = am.GetStreamMaxVolume(Stream.Music);
            float myVol= maxVol  * volume;

            am.SetStreamVolume(Stream.Music, (int)(myVol), 0);

            using (SoundPool soundPool = new SoundPool(1, Stream.Music, 0))
            {
                int soundFileId = soundPool.Load(soundFilePath, 1);

                soundPool.LoadComplete += (sender, eventArgs) =>
                {
                    using (SoundPool soundPoolLoaded = sender as SoundPool)
                    {
                      soundPoolLoaded.Play(soundFileId, myVol, 
                                          myVol, 0, 0, 1.0f);
                    }
                };
            }
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM