我很好奇我是否可以编写可以控制Apple TV的程序,特别是运行tvOS 9.1.1的Apple TV第四代,就像Apple的iOS远程应用程序一样.我想发送命令,用于在四个主要方向导航,在屏幕上选择一个项目,向上导航堆栈 - 基本上是Apple的远程应用程序可以执行的操作.
有没有人对它使用的协议进行逆向工程?到目前为止,Cursory谷歌搜索已经产生了关于早期Apple TV和DAAP协议的过时结果,这些协议看起来与我想要的不同.
TeamViewer允许远程控制其他Android设备.它很慢,但它完成了这项工作.
它需要安装2个应用程序.一个控制(链接在这里),一个控制(链接在这里).
我不确定它是否有其他选择,但我想知道是否可以这样做.
我找不到teamViewer使用的任何特殊权限,并且它在没有root的情况下完成所有操作.
这很奇怪,因为我已经阅读了很多地方,为了让应用程序截取屏幕截图,它必须具有root权限(或者连接到计算机并使用ADB截取屏幕截图).
怎么会这样?TeamViewer有哪些功能可以实现?
如何在没有任何特殊许可的情况下拍摄截图?这个应用程序甚至不是系统应用程序...
是不是可以做任何没有root的TeamViewer做的事情?
TeamViewer有替代品吗?
假设我有root,如何有效地远程控制或流式传输屏幕截图?
我有两个服务器服务器A和服务器B.我想使用Powershell脚本远程从服务器B停止服务器A.
这是一些背景信息,否则以粗体向前跳到问题.我正在构建一个应用程序,我希望它可以访问远程控制/锁屏事件.棘手的部分是这个应用程序本身不播放音频,它控制附近另一台设备的音频.当应用程序位于前台时,设备之间的通信不是问题.正如我刚刚发现的那样,一个应用程序不会控制遥控器,直到它播放音频与播放音频会话,并且是最后一次这样做.这提出了一个问题,因为正如我所说,该应用程序控制另一个设备的音频,而不需要自己播放.
我的第一个倾向是让应用程序每次打开时播放一个静音剪辑,以便控制遥控器.事实上,我必须这样做,这让我想知道我是否会被苹果公司允许这样做,或者是否有另一种方法可以实现这一点,而不会用假音频片段欺骗系统.
问题:Apple会批准播放静音音频片段的应用程序,以便控制远程/锁定屏幕控制以控制其他设备的音频吗?有没有办法在没有音频会话的情况下控制遥控器?
PS我更喜欢在iOS 4.0及更高版本上使用此功能.
PPS我已经看到了这个类似的问题,它让我头脑风暴,但提供的答案并不是我需要知道的具体问题.
什么是避免在没有所有者知道的情况下复制和使用应用程序的最佳方法?
有没有办法追踪使用情况?这意味着应用程序定期回传,提供足够的信息,以便我们知道它在哪里,以及它是否合法.当然,接下来的事情就是关闭它,如果它不合法的话.
好吧,我试图让用户从他们的iPod库中选择歌曲来收听,但我仍然希望在我的应用程序中接收远程控制通知(耳机,锁屏osd等),这样我就可以做一些额外的事情.到目前为止,我可以播放iPod音乐或耳机事件,但不能同时播放.
这是我到目前为止所知道的......
如果您使用MPMusicPlayer,则可以轻松地以编程方式访问整个音乐库.但是,无论您使用的是applicationMusicPlayer还是ipodMusicPlayer,它都会收到远程通知.
如果您使用AVAudioPlayer(Apple推荐的播放器用于您应用中的大多数声音),您可以轻松获得远程通知,但它本身无法访问iPod库.
可以使用资产URL初始化AVAudioPlayer,并且iPod库中的轨道(类型MPMediaItem)确实有一个URL属性,该属性返回NSURL实例,文档明确表示它与AVAsset对象一起使用,但是当您尝试使用该文件初始化AVAudioPlayer时NSURL,它失败了.(我使用iPod中的"正在播放"轨道,这是一个MP3,它确实返回了一个有效的NSURL对象,但是初始化失败了.更糟糕的是,当它是一个Audible.com文件时,NSURL属性平坦无效.)
如果您尝试使用AVAudioPlayer的实例来获取远程事件(例如,使用空白声音文件),然后同时使用MPMusicPlayer类播放iPod音乐,您可以远程控制访问,直到您实际启动iPod播放,此时您将丢失它因为您的音频会话被取消激活并且系统音频会话变为活动状态.
如果您尝试与#4相同,但是您将音频会话的类别设置为可混合变体,则会话不会被取消激活,但是一旦iPod开始播放,您仍然会失去远程控制功能.
简而言之,每当MPMusicPlayer正在播放时,我似乎无法获得远程事件,除了使用MPMusicPlayer之外,我不知道从iPod库中播放内容的任何其他方式.
关于如何解决这个问题的任何建议都会受到欢迎.创意或平淡疯狂.只要它有效,就不要在意.
任何人?任何人?Bueller?Bueller?
中号
我正在尝试使用RemoteControlClient类来支持我的应用程序的锁屏播放器.一个问题是设置传输控制标志似乎无法正常工作.
例如,我试图只显示播放/停止图标没有上一个/下一个:
mRemoteControlClient.setTransportControlFlags(
RemoteControlClient.FLAG_KEY_MEDIA_PLAY_PAUSE |
RemoteControlClient.FLAG_KEY_MEDIA_STOP);
Run Code Online (Sandbox Code Playgroud)
这显示了之前的图标和暂停图标!为什么?
为了使事情更糟按下停止/播放按钮时,你只收到KEYCODE_MEDIA_PLAY_PAUSE时,你应该得到KEYCODE_MEDIA_STOP或KEYCODE_MEDIA_PLAY.
如果我发现我正确地做到这一点,这在Android方面是令人沮丧的糟糕发展.
使用ios 7音乐应用程序播放歌曲时,用户可以使用滑块更改锁定屏幕/控制中心中的歌曲位置.滑块处于活动状态:

但是当我在我的应用程序中播放音乐时,用户无法做到.滑块未激活:

如何在我的应用中启用这些功能?
我正在尝试RemoteControlClient设置,以便我的应用程序的音乐可以通过锁定屏幕上弹出的小部件(如SoundCloud,Google Play音乐和其他音乐/视频应用程序工作)进行控制.我不确定我的代码有什么问题以及为什么它没有正确挂钩,但这是我到目前为止所拥有的...
一个名为MusicService的类,它尝试处理RemoteControlClient的更新
public class MusicService extends Service
{
public static final String ACTION_PLAY = "com.stfi.music.action.PLAY";
private RemoteController controller = null;
@Override
public void onCreate()
{
super.onCreate();
System.out.println("Creating the service.");
if(controller == null)
{
controller = new RemoteController();
}
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
String action = intent.getAction();
System.out.println("Got an action of " + action);
/* Logic to get my Song cur */
controller.register(this);
controller.updateMetaData(cur);
return START_STICKY;
}
@Override
public void onDestroy() …Run Code Online (Sandbox Code Playgroud) 我浏览了Google TV配对协议,并从https://code.google.com/p/google-tv-pairing-protocol/下载了电视配对协议示例代码
我还读到了Anymote协议,但意识到它只适用于过时的Google TV.同样,适用于Android的Google TV远程应用示例代码也仅适用于Google TV
但我没有找到任何帮助我为Android TV编写远程控制应用程序.现在,我知道我可以使用电视配对协议与Android TV配对(再次,没有找到关于协议细节的大量文档,但我们假设我将从电视配对协议源代码中找出它).
我的问题是:在成功配对Android TV之后,我如何知道如何与Android TV通信以通过我的远程应用程序(通过Wifi /蓝牙)向其发送关键事件?这里使用的协议是什么(它不是Anymote),我在哪里可以找到原型细节?由于某种原因,它似乎并不公开.
我需要使用Android TV使用的现有方法向Android TV发送击键以接收重要事件(例如,谷歌的最新"Android控制远程控制"应用程序能够将关键事件发送到Android TV),否则我会我必须处理制作我自己的Android TV服务以接收关键事件,然后处理在Android TV设备上进行密钥注入,并且只允许使用INJECT_KEYS权限进行密钥注入,这意味着我必须制作自己的AOSP图像和使用系统密钥签署我的Android TV服务,以便能够进行密钥注入.
对此有任何帮助表示赞赏.
remote-control ×10
android ×4
ios ×2
apple-tv ×1
controls ×1
delphi ×1
iis ×1
ios4 ×1
ios5 ×1
ios7 ×1
iphone ×1
java ×1
objective-c ×1
pairing ×1
piracy ×1
powershell ×1
root ×1
screenshot ×1
security ×1
television ×1
tvos ×1