有人可以举一个完整的例子来说明如何让 UIProgressView 与音乐长度的媒体框架一起工作,由于某种原因我不能让它与 ios6 一起工作
问问题
1708 次
1 回答
3
我很快建立了一个简单的项目来为您演示这一点。
向ViewController.xib添加两个 GUI 元素:一个按钮和一个进度视图。我们将使用按钮开始播放声音。
在您的ViewController.h中使用它:
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface ViewController : UIViewController {
AVAudioPlayer *player;
}
@property IBOutlet UIProgressView *progressbar;
- (IBAction)play:(id)sender;
@end
在此之后,您可以将 ViewController.xib 出口/操作连接到 ViewController.h 中正确设置的部分。将按钮的 Touch Up Inside 事件与 File's Owner 链接(在占位符下)连接,您可以选择播放方法。将进度视图的新引用出口与文件所有者链接连接,您可以选择进度条。
然后你可以在你的ViewController.m中使用这个代码:
- (IBAction)play:(id)sender {
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sound.caf" ofType:nil]];
NSError *error;
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
if (!player) NSLog(@"Error: %@", error);
[player prepareToPlay];
[progressbar setProgress:0.0];
[NSTimer scheduledTimerWithTimeInterval:1.0/60.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];
[player play];
}
- (void)updateTime:(NSTimer *)timer {
[progressbar setProgress:(player.currentTime/player.duration)];
}
不要忘记在您的项目中添加您的 sound.caf。
于 2013-04-28T14:12:23.257 回答