Воспроизведение аудио в Android через AudioManager? - PullRequest
1 голос
/ 27 октября 2011

Я играю звук, используя:

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);

Воспроизводит звуковой эффект по умолчанию, как я могу заставить его воспроизводить пользовательский звуковой эффект.

Также я попытался реализовать пул звуков, но он не работает, я реализовал его стандартным способом, но он не работает. Есть идеи почему? Или я могу вместо этого использовать звуковой менеджер для звуков?

1 Ответ

0 голосов
/ 11 августа 2015

Проверьте с помощью следующего кода

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);
                    }
                };
            }
        }
...