iOS簡單的音樂播放 聲音播放

fb24 9年前發布 | 3K 次閱讀 C/C++ IOS

簡單的音樂播放 導入AVFoundation.framework

- (void)viewDidLoad
{
    [super viewDidLoad];

//路徑
NSString* path = [[NSBundle mainBundle] pathForResource:@"xiguan" ofType:@"mp3"];
//路徑->url
NSURL* url = [NSURL fileURLWithPath:path];

_player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
//準備播放
[_player prepareToPlay];
//支持變速
_player.enableRate = YES;
//峰值 平均值
_player.meteringEnabled = YES;

}

//進度

  • (IBAction)proSlider:(id)sender{ //當前時間=總時間slider.value; float currentTime = _player.duration _proSlider.value; [_player setCurrentTime:currentTime]; } //聲道
  • (IBAction)panSlider:(id)sender{ _player.pan = _panSlider.value; } //速度
  • (IBAction)speedSlider:(id)sender{ _player.rate = _speedSlider.value; } //聲音
  • (IBAction)volSlier:(id)sender{ _player.volume = _volSlider.value; }
  • (void)play:(id)sender{ [_player play]; //播放時候開啟定時器 _timer = [NSTimer scheduledTimerWithTimeInterval:1/60.0 target:self selector:@selector(refresh) userInfo:nil repeats:YES]; }

  • (void)pause:(id)sender{ [_player pause]; //暫定的時候定時器失效 [_timer invalidate]; }

  • (void)refresh{ //當前時間/總時間 float pro = _player.currentTime / _player.duration; [_proSlider setValue:pro animated:YES];

    //刷新峰值平均值 [_player updateMeters]; float peak = ([_player peakPowerForChannel:0] + 50) / 50; float ave = ([_player averagePowerForChannel:0] + 50) / 50; [_proV setProgress:peak animated:YES]; [_proV2 setProgress:ave animated:YES]; }

/////播放系統聲音

SystemSoundID myAlertSound; NSURL url = [NSURL URLWithString:@"/System/Library/Audio/UISounds/alarm.caf"]; / low_power.caf alarm.caf SentMessage.caf */ AudioServicesCreateSystemSoundID((__bridge CFURLRef)(url), &myAlertSound); AudioServicesPlaySystemSound(myAlertSound);</pre>

 本文由用戶 fb24 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!