我正在尝试开发一个Android穿戴应用程序,它可以用Gracenote的GNSDK识别歌曲。我是在他们的示例应用程序的基础上。
我在可穿戴设备上的Wifi有问题了。该示例应用程序在歌曲识别尝试方面发挥作用,但错过了互联网连接。(尽管其他应用程序运行得很完美。)
,所以会发生什么:,当手表在Wifi,而不是通过蓝牙连接到电话,但仅仅通过Wifi,它工作。现在通过蓝牙将手机连接到手表上,手表应该通过电话连接到Wifi。现在,连接不再可用了。因此,通过电话的互联网进行识别是行不通的。有没有人知道原因是什么,以及如何排除故障?
若否,则:
是否有办法,而不是通过GnMic进行完整的相册识别,只从GnMusicIDStream对象获取指纹?如果是,怎么做?其背后的想法是通过GnMic在可穿戴设备上听一首歌,只抓取指纹,然后发送到移动设备。在那里,通过进行基于指纹的识别来识别歌曲,并将结果发送回手表。
希望你们中有一个知道如何解决这个问题!事先非常感谢!任何帮助都是非常感谢的!
最佳,dmkscr
发布于 2015-07-07 22:05:54
由于直接从磨损设备访问互联网的限制,您必须通过DataItem或MessageApi将原始音频字节或指纹传递给手持设备。(有关这些磨损API的信息,请参见https://developer.android.com/training/wearables/data-layer/index.html。)然后,在设备上可以生成指纹和/或提交MusicID查询。然后,您需要再次使用DataItem或MessageApi将结果数据传回磨损设备以供显示。
使用这两种方法(将音频字节或指纹传递给手持设备),您需要使用GnMusicId类而不是GnMusicId类。原因是GnMusicIdStream自动化了工作流的多个步骤(捕获音频、生成指纹、基于指纹执行MusicID查询),并且不提供单独执行它们的钩子。GnMusicId是一个较低级别的类,它为您提供了更细粒度的流程控制。
如果选择将音频数据传递给手持设备,则可以使用GnMic.getData().获取磨损设备上的音频字节通过DataItem或MessageApi将音频数据字节传递到手持设备。然后,在手持设备上,使用GnMusicId的下列方法生成指纹并执行MusicID查询:
或者,如果选择在磨损设备上生成指纹,请执行以下操作
https://stackoverflow.com/questions/31000227
复制相似问题