wxr
2024-09-11 a3dfbcd5218270f9a75e6e32807b08215270b657
HDL-ON_iOS/Other/SoundPlayer.cs
New file
@@ -0,0 +1,62 @@
using System;
using AVFoundation;
using Foundation;
namespace Other
{
   public class SoundPlayer
   {
        public AVAudioPlayer player;
        private static SoundPlayer _soundPlayer;
        public static SoundPlayer Ins
        {
            get
            {
                if(_soundPlayer == null)
                {
                    _soundPlayer = new SoundPlayer();
                    // 获取音频文件路径
                    var soundUrl = NSUrl.FromFilename("oldphone_mono.wav");
                    // 初始化播放器
                    _soundPlayer.player = AVAudioPlayer.FromUrl(soundUrl);
                    _soundPlayer.player.NumberOfLoops = -1; // 设置为-1表示无限循环
                    _soundPlayer.player.PrepareToPlay();
                }
                return _soundPlayer;
            }
        }
        public SoundPlayer()
        {
        }
        public void PlaySound()
        {
            try
            {
                if (_soundPlayer.player.Playing)
                {
                    _soundPlayer.player.Stop();
                }
                _soundPlayer.player.Play();
            }
            catch (Exception ex)
            {
            }
        }
        public void StopSound()
        {
            if (_soundPlayer.player != null)
            {
                _soundPlayer.player.Stop();
                _soundPlayer.player.Dispose();
                _soundPlayer = null;
            }
        }
    }
}