正在播放歌曲时,如何在 AVAudioPlayer 中制作像 UIProgressView 这样的渐进式 UISlider?

Posted

技术标签:

【中文标题】正在播放歌曲时,如何在 AVAudioPlayer 中制作像 UIProgressView 这样的渐进式 UISlider?【英文标题】:How to make progressive UISlider like UIProgressView in AVAudioPlayer as song is being playing? 【发布时间】:2013-02-07 11:13:48 【问题描述】:

实际上,当歌曲在 AVAudioPlayer 中播放时,Slider 会随着歌曲的运行而进行。如果我向前或向后寻找它,我也会从当前歌曲正在播放的位置开始。 但问题是在将滑块搜索到特定位置后,它没有前进并停在那里,但歌曲仍在从该位置运行。

下面的代码:

块引用

myTimer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self     selector:@selector(updateMyProgressOfCurrentPlayingSong:) userInfo:nil repeats:YES];

-(void)updateMyProgressOfCurrentPlayingSong:(NSTimer *)theTimer
//For Current Song Playing Slider
float progr = [mediaPlayer currentTime]/[mediaPlayer duration];
self.audioCurrentPlayingSlider.value = progr;


//For Slider Value change
-(IBAction)audioCurrentSongPlayingSlider:(id)sender 
 [myTimer invalidate];
 myTimer = nil;
 [self.audioCurrentPlayingSlider setMinimumValue:0.0];
 [self.audioCurrentPlayingSlider setMaximumValue:[mediaPlayer duration]];
 [mediaPlayer setCurrentTime:[self.audioCurrentPlayingSlider value]];      
 [myTimer methodForSelector:@selector(updateMyProgressOfCurrentPlayingSong:)];


块引用

【问题讨论】:

【参考方案1】:

请参阅以下可能对您有所帮助的链接, 1)How to add UISlider to AVPlayer 2)UISlider to control AVAudioPlayer 3)Create a UISlider progress bar and timer (like iPod player) within app 4)http://www.mobisoftinfotech.com/blog/iphone/integrate-music-player-in-iphone/

【讨论】:

以上是关于正在播放歌曲时,如何在 AVAudioPlayer 中制作像 UIProgressView 这样的渐进式 UISlider?的主要内容,如果未能解决你的问题,请参考以下文章

使用 AVAudioPlayer 当前播放歌曲的艺术作品

iOS - AVAudioPlayer 在后台不会继续播放下一首歌曲

如何在 AVAudioplayer 中播放多个文件

如何将歌曲从 iPod 库复制到应用程序并使用 AVAudioPlayer 播放?

iPhone :remoteioplayer 如何知道歌曲播放完毕

从 plist(NSArray) 中挑选歌曲并使用 AVAudioPlayer 播放?