当前位置: 技术问答>linux和unix
linux下怎么写程序来控制播放器?
来源: 互联网 发布时间:2016-03-17
本文导语: 请问在linux下,播放器正在运行(比如Xmms),请问怎么编写C/C++程序来控制播放器,比如“播放”“暂停”“停止”等,请给点思路,迷惘中... 补充: 我并不是要做一个播放器,而是机器上已经有了播放器(不管具体...
请问在linux下,播放器正在运行(比如Xmms),请问怎么编写C/C++程序来控制播放器,比如“播放”“暂停”“停止”等,请给点思路,迷惘中...
补充:
我并不是要做一个播放器,而是机器上已经有了播放器(不管具体是什么播放器),并且播放器正在运行,对于用户而言,可以手动操作该播放器,让它开始播放、停止播放、暂停播放等。我现在要做的就是写一个程序,该程序接收某些指令(这些指令可能是别的程序发生,也可以是人的操作),然后自动控制播放器(我想可能要用进程间通信,但我不知道具体该怎么做)。
补充:
我并不是要做一个播放器,而是机器上已经有了播放器(不管具体是什么播放器),并且播放器正在运行,对于用户而言,可以手动操作该播放器,让它开始播放、停止播放、暂停播放等。我现在要做的就是写一个程序,该程序接收某些指令(这些指令可能是别的程序发生,也可以是人的操作),然后自动控制播放器(我想可能要用进程间通信,但我不知道具体该怎么做)。
|
控制现有的播放器的话,要看播放器软件制作者是否预留了开发接口。你去播放器的制作者提供的信息里面查找一下,看看有没有发现。
如果是自己开发的播放器的话,你直接使用自己设计的预留接口就行了。进程间通信的确是一种方法。
给你个连接,里面有概念的简单介绍。http://chinaunix.net/jh/7/190831.html
如果是自己开发的播放器的话,你直接使用自己设计的预留接口就行了。进程间通信的确是一种方法。
给你个连接,里面有概念的简单介绍。http://chinaunix.net/jh/7/190831.html
|
xmms留了接口,你可以通过system继续调用system来控制,这样来的简单。
[root@shwhg kq43arm]# xmms --help
用法:xmms [选项] [文件] ...
选项:
--------
-h, --help 显示文字并退出。
-n, --session 选择 XMMS 会话(默认:0)
-r, --rew 在播放列表中向后跳
-p, --play 开始播放现有列表
-u, --pause 暂停当前歌曲
-s, --stop 停止当前歌曲
-t, --play-pause 如正播放则暂停,否则播放
-f, --fwd 在播放列表中向前跳
-e, --enqueue 不要清除播放列表
-m, --show-main-window 显示主窗口。
-i, --sm-client-id 以往连接 ID
-v, --version 显示版本号并退出。
[root@shwhg kq43arm]# xmms --help
用法:xmms [选项] [文件] ...
选项:
--------
-h, --help 显示文字并退出。
-n, --session 选择 XMMS 会话(默认:0)
-r, --rew 在播放列表中向后跳
-p, --play 开始播放现有列表
-u, --pause 暂停当前歌曲
-s, --stop 停止当前歌曲
-t, --play-pause 如正播放则暂停,否则播放
-f, --fwd 在播放列表中向前跳
-e, --enqueue 不要清除播放列表
-m, --show-main-window 显示主窗口。
-i, --sm-client-id 以往连接 ID
-v, --version 显示版本号并退出。
|
楼上回答好,可以根据这些来做播放器控制,用系统命令来调用
但这也有一个问题,可能播放器的界面可能与你的操作界面没有办法在一起。
但这也有一个问题,可能播放器的界面可能与你的操作界面没有办法在一起。
|
支持楼上
|
看来楼主还不知道窗体程序的设计原理,如果你学过MFC就应该知道消息循环机制,它是回调实现.如果只是单线程的mfc程序,你想一下,你能在界面操作按钮之类的东西吗?如果要在linux做播放器,肯定有状态机(播放,暂停,停止)的维护,并且这些都需要跟底层功能结合处理.如果有播放器提供的播放,暂停,停止,快进等接口,那是没什么难的.
|
concern
|