Thr*_*dyn 9 iphone ipod objective-c media-player
我看了一下Apple的AddMusic示例代码,但这不是我想要的.我正试图找到一种方法来启动/停止在iPod应用程序中播放音乐,而不是控制应用程序沙箱中包含的内容.
像这样......
____________
| |
| |< || >| | skip back, play/pause, skip forward
| |
| XXXXXXXX | album art
| XXXXXXXX |
| XXXXXXXX |
| XXXXXXXX |
| |
|____________|
Run Code Online (Sandbox Code Playgroud)
当然应用程序比这更复杂,但是现在,我想专注于假设直接控制.
奖励指向任何获取参考而不作弊的人.
- 图稿加载错误转移到一个新问题.
- 文本到语音的实现转移到了一个新问题.
- 歌曲开始后,进度条的填充率为100%.此代码有效:
// your must register for notifications to use them
- (void)handleNowPlayingItemChanged:(id)notification {
…
// this is what I forgot to do
NSNumber *duration = [item valueForProperty:MPMediaItemPropertyPlaybackDuration];
float totalTime = [duration floatValue];
progressSlider.maximumValue = totalTime;
…
}
// called on a one-second repeating timer
- (void)updateSlider {
progressSlider.value = musicPlayer.currentPlaybackTime;
[progressSlider setValue:musicPlayer.currentPlaybackTime animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
MediaPlayer框架正是您所寻找的。有一个有用的指南,其中还包含 MediaPlayer API 概述的链接。
具体来说,您正在寻找MPMusicPlayerController. 您的应用程序可以控制专用应用程序媒体播放器或 iPod 媒体播放器,这似乎是您想要的。
一个简单的例子如下(省略标题):
@implementation MyPlaybackController
- (id)initWithNibName:(NSString *)nibName bundle:(id)bundleOrNil
{
if ((self = [super initWithNibName:nibName bundle:bundleOrNil])) {
self.musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
}
return self;
}
- (IBAction)skipForward:(id)sender
{
[self.musicPlayer skipToNextItem];
}
- (IBAction)skipBack:(id)sender
{
[self.musicPlayer skipToPreviousItem];
}
- (IBAction)togglePlayback:(id)sender
{
if (self.musicPlayer.playbackState == MPMusicPlaybackStatePlaying) {
[self.musicPlayer pause];
} else {
[self.musicPlayer play];
}
}
@end
Run Code Online (Sandbox Code Playgroud)
请花时间阅读文档并注意有关家庭共享的注意事项。您还需要注册有关可能在您控制之外发生的玩家状态更改的通知。
| 归档时间: |
|
| 查看次数: |
561 次 |
| 最近记录: |