gpt4 book ai didi

iphone - 从另一个应用程序控制 iPod?

转载 作者:太空狗 更新时间:2023-10-30 03:29:32 25 4
gpt4 key购买 nike

我查看了 Apple 的 AddMusic 示例代码,但这并不是我想要的。我试图找到一种方法来开始/停止 iPod 应用程序中的音乐播放,而不是控制我的应用程序沙盒中包含的内容。

像这样的……

 ____________
| |
| |< || >| | skip back, play/pause, skip forward
| |
| XXXXXXXX | album art
| XXXXXXXX |
| XXXXXXXX |
| XXXXXXXX |
| |
|____________|

当然,应用程序比这更复杂,但现在,我想专注于假设直接控制
奖励积分给任何在没有 cheating 的情况下获得引用的人.


— 图稿加载错误已移至 a new question .

— 文本转语音实现移至 a new question .

— 歌曲一开始,进度条就会填充到 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];
}

最佳答案

MediaPlayer framework是你要找的。有一个useful guide其中还包含指向 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

请务必花时间阅读文档并注意提到的关于家庭共享的注意事项。您还需要注册有关可能不受您控制的播放器状态更改的通知。

关于iphone - 从另一个应用程序控制 iPod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6331866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com