我正在开发一个涉及音频播放的mac应用程序。我想在开始播放时暂停其他音频播放器。
我怎样才能
1)检测到itunes正在运行
2)检测到当前正在播放itunes
3)暂停itunes
4)完成后恢复itunes
另外:
5)是否也可以暂停其他类型的媒体播放?例如,在浏览器中的音频和视频?
发布于 2010-09-02 20:28:35
您可以使用以下使用ScriptingBridge的代码来完成此操作:
#import "iTunes.h"
#import "Cocoa/Cocoa.h"
int main()
{
iTunesApplication* iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
// check if iTunes is running (Q1)
if ([iTunes isRunning])
{
// pause iTunes if it is currently playing (Q2 and Q3)
if (iTunesEPlSPlaying == [iTunes playerState])
[iTunes playpause];
// do your stuff
// start playing again (Q4)
[iTunes playpause];
}
return 0;
}文件iTunes.h是通过从命令行运行sdef /Applications/iTunes.app | sdp -fh --basename iTunes生成的。可以忽略错误unknown type name "tdta"。
您还需要将ScriptingBridge.framework添加到链接框架中。
这里还有一个指向ScriptingBridge documentation的链接。
发布于 2010-08-11 12:31:49
1)检测到itunes正在运行
NSRunningApplication或Process Manager。
2)检测到当前正在播放itunes
3)暂停itunes
4)完成后恢复itunes
Scripting Bridge.
5)是否也可以暂停其他类型的媒体播放?
这取决于应用程序。
例如,在浏览器中的
音频和视频?
不是的。
发布于 2010-08-11 03:29:20
也许创建一个AppleScript就可以解决这个问题呢?
看看这个:
http://dougscripts.com/itunes/
或者一些命令行脚本?:
http://www.macosxhints.com/article.php?story=20011108211802830
https://stackoverflow.com/questions/3452555
复制相似问题