首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从可可应用程序控制iTunes

从可可应用程序控制iTunes
EN

Stack Overflow用户
提问于 2010-08-11 03:15:33
回答 3查看 4.9K关注 0票数 13

我正在开发一个涉及音频播放的mac应用程序。我想在开始播放时暂停其他音频播放器。

我怎样才能

1)检测到itunes正在运行

2)检测到当前正在播放itunes

3)暂停itunes

4)完成后恢复itunes

另外:

5)是否也可以暂停其他类型的媒体播放?例如,在浏览器中的音频和视频?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-02 20:28:35

您可以使用以下使用ScriptingBridge的代码来完成此操作:

代码语言:javascript
复制
#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的链接。

票数 18
EN

Stack Overflow用户

发布于 2010-08-11 12:31:49

1)检测到itunes正在运行

NSRunningApplicationProcess Manager

2)检测到当前正在播放itunes

3)暂停itunes

4)完成后恢复itunes

Scripting Bridge.

5)是否也可以暂停其他类型的媒体播放?

这取决于应用程序。

例如,在浏览器中的

音频和视频?

不是的。

票数 5
EN

Stack Overflow用户

发布于 2010-08-11 03:29:20

也许创建一个AppleScript就可以解决这个问题呢?

看看这个:

http://dougscripts.com/itunes/

或者一些命令行脚本?:

http://www.macosxhints.com/article.php?story=20011108211802830

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3452555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档