控制iphone中的实体按钮和音乐播放

在Springboard中有一个函数
- (BOOL)deviceIsInNowPlaying;
- (BOOL)musicIsPlaying;

在开源工程libactivator中有如下的和音乐控制相关的函数
- (BOOL)togglePlayback
{
[CHSharedInstance(SBMediaController) togglePlayPause];
return YES;
}

- (BOOL)previousTrack
{
[CHSharedInstance(SBMediaController) changeTrack:-1];
return YES;
}

- (BOOL)nextTrack
{
[CHSharedInstance(SBMediaController) changeTrack:1];
return YES;
}

- (BOOL)musicControls
{
SBAlertItemsController *controller = CHSharedInstance(SBAlertItemsController);
if ([controller isShowingAlertOfClass:CHClass(SBNowPlayingAlertItem)]) {
[controller deactivateAlertItemsOfClass:CHClass(SBNowPlayingAlertItem)];
return NO;
}
shouldAddNowPlayingButton = NO;
SBNowPlayingAlertItem *newAlert = [CHAlloc(SBNowPlayingAlertItem) init];
[controller activateAlertItem:newAlert];
[newAlert release];
return YES;
}


都是在LASimpleListener.m中

另外还有一些很有用的相关函数
摘录如下
- (BOOL)homeButton
{
struct GSEventRecord record;
memset(&record, 0, sizeof(record));
record.type = kGSEventMenuButtonDown;
record.timestamp = GSCurrentEventTimestamp();
GSSendSystemEvent(&record);
record.type = kGSEventMenuButtonUp;
GSSendSystemEvent(&record);
return YES;
}

- (BOOL)sleepButton
{
struct GSEventRecord record;
memset(&record, 0, sizeof(record));
record.type = kGSEventLockButtonDown;
record.timestamp = GSCurrentEventTimestamp();
GSSendSystemEvent(&record);
record.type = kGSEventLockButtonUp;
GSSendSystemEvent(&record);
return YES;
}

- (BOOL)respring
{
[(SpringBoard *)[UIApplication sharedApplication] relaunchSpringBoard];
return YES;
}

/* // A safeMode method isn't needed; it should safe mode anyway :P
- (void)safeMode
{
[(SpringBoard *)[UIApplication sharedApplication] enterSafeMode];
}*/

- (BOOL)reboot
{
[(SpringBoard *)[UIApplication sharedApplication] reboot];
return YES;
}

- (BOOL)powerDown
{
[(SpringBoard *)[UIApplication sharedApplication] powerDown];
return YES;
}

- (BOOL)spotlight
{
[[LAApplicationListener sharedInstance] activateApplication:nil];
[CHSharedInstance(SBIconController) scrollToIconListAtIndex:-1 animate:NO];
[[CHSharedInstance(SBSearchController) searchView] setShowsKeyboard:YES animated:YES];
return YES;
}

- (BOOL)takeScreenshot
{
SBScreenShotter *screenShotter = CHSharedInstance(SBScreenShotter);
if (screenShotter.writingScreenshot)
return NO;
[screenShotter saveScreenshot:YES];
return YES;
}

- (BOOL)voiceControl
{
SBVoiceControlAlert *alert = [CHAlloc(SBVoiceControlAlert) init];
[alert activate];
[alert release];
return YES;
}

- (BOOL)showLockScreen
{
SBUIController *controller = CHSharedInstance(SBUIController);
[controller lock];
[controller wakeUp:nil];
return YES;
}

- (BOOL)dismissLockScreen
{
[[CHClass(SBAwayController) sharedAwayController] unlockWithSound:YES];
[[CHClass(SBStatusBarController) sharedStatusBarController] setIsLockVisible:NO isTimeVisible:YES];
return YES;
}

- (BOOL)toggleLockScreen
{
return [[CHClass(SBAwayController) sharedAwayController] isLocked]
? [self dismissLockScreen]
: [self showLockScreen];
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值