当前位置:网站首页>Add IPAD control function into shairplay
Add IPAD control function into shairplay
2022-06-23 07:02:00 【Ti-laser】
After several days studying and searching, I can pause/play IPAD through shairplay now. shairplay is a great work which can works as an airplay device to play songs comes from airtune/ipad/iphone, sadly, you can only control music by apple products but on pc during playing. shairplay doesn't implement workable DACP even it has supply a interface. I extend the function of shiarplay by porting some code from internet. now some basic operations have been supported by shairplay, you can pause and play under shairplay console. anyway,the output of shairplay has also port to pulseaudio, it is in its very original stage,I did this work just want to make shairplay to cowork with mpd(both of them use alsa and will conflict with each other during operating ALSA, let pulseauido to mananger them is good idea for me), considering mix of music is not user want to expect usually, shairplay will pause mpd before start play.
the whole project has been update to csdn and you can search keywords shairplay control to download(resource name:shairplay-control).or direct click next link:
http://download.csdn.net/detail/shuaiff/8926195
please download and have a test. (please update it if you find some problems described in this introduction.)
some explanations to the work:
During startup , shairplay will pass the received 'dacp_id' and 'active_remote_header' to application by calling registered function raop_rtp->callbacks.audio_remote_control_id(if exists), these information are necessary to connect airplay control port,one for service inquiry and another for identification. before calling this function, the added function dacp_client_init(dacp_id, active_remote_header) will get controlport supply by iphone using these information firstly. once the communication has been setup, the subsequent control can be response by iphone just simple write dacp commands to that port with correct identification(remote_head).
some bugs not fixed into the package:
in client_callback, parameter to avahi_service_browser_new should be changed from AVAHI_PROTO_INET to AVAHI_PROTO_UNSPEC, or it will always failed in ipv6-only system.
for more information,please refer:http://www.sugrsugr.com/index.php/airplay-prev-next/
边栏推荐
- Copy and paste of idea without escape
- .h5文件忘记数据库名字,使用h5py打印
- C language operator priority formula
- Open source oauth2 framework for SSO single sign on
- js中if逻辑过多,常见优化
- Side effects of threads in embedded real-time systems
- mysql 优化
- JS dynamically creates a href circular download file. Only 10 or a fixed number of files can be downloaded
- [daily training] 513 Find the value in the lower left corner of the tree
- centos7 mysql 记录
猜你喜欢

MySQL redo log redo log

idea自动生成serialVersionUID

QT method of compiling projects using multithreading

如何迁移virtualbox 的虚拟机到hype-v

TP6+Redis+think-queue+Supervisor实现进程常驻消息队列/job任务

Business logic design of physical warehouse and virtual warehouse in middle inventory

MySQL的意向共享锁、意向排它锁和死锁

【日常训练】513. 找树左下角的值

QT设计师无法修改窗口大小,无法通过鼠标拖动窗口改变大小的解决方案

swagger3整合oauth2 认证token
随机推荐
Concepts and differences of DQL, DML, DDL and DCL
xml schem 记录
【毕业季·进击的技术er】自己的选择,跪着也要走
Mongodb record
【畢業季·進擊的技術er】自己的選擇,跪著也要走
【shell】Tree命令
产品-Axure9(英文版),原型设计后台动态二级菜单显示内容
在金融行业做数据产品经理是什么体验
TP6+Redis+think-queue+Supervisor实现进程常驻消息队列/job任务
Summarized benefits
mysql 优化
产品-Axure9(英文版),原型设计 制作下拉二级菜单
cmder
WPF command directive and inotifypropertychanged
XXL-SSO 实现SSO单点登录
994. 腐烂的橘子-非递归法
[shell] tree command
mysql 基础查询
【STL】pair用法总结
Side effects of threads in embedded real-time systems