首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android磨损的Gracenote (GNSDK)

Android磨损的Gracenote (GNSDK)
EN

Stack Overflow用户
提问于 2015-06-23 10:24:41
回答 1查看 272关注 0票数 0

我正在尝试开发一个Android穿戴应用程序,它可以用Gracenote的GNSDK识别歌曲。我是在他们的示例应用程序的基础上。

我在可穿戴设备上的Wifi有问题了。该示例应用程序在歌曲识别尝试方面发挥作用,但错过了互联网连接。(尽管其他应用程序运行得很完美。)

,所以会发生什么:,当手表在Wifi,而不是通过蓝牙连接到电话,但仅仅通过Wifi,它工作。现在通过蓝牙将手机连接到手表上,手表应该通过电话连接到Wifi。现在,连接不再可用了。因此,通过电话的互联网进行识别是行不通的。有没有人知道原因是什么,以及如何排除故障?

若否,则:

是否有办法,而不是通过GnMic进行完整的相册识别,只从GnMusicIDStream对象获取指纹?如果是,怎么做?其背后的想法是通过GnMic在可穿戴设备上听一首歌,只抓取指纹,然后发送到移动设备。在那里,通过进行基于指纹的识别来识别歌曲,并将结果发送回手表。

希望你们中有一个知道如何解决这个问题!事先非常感谢!任何帮助都是非常感谢的!

最佳,dmkscr

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-07 22:05:54

由于直接从磨损设备访问互联网的限制,您必须通过DataItemMessageApi将原始音频字节或指纹传递给手持设备。(有关这些磨损API的信息,请参见https://developer.android.com/training/wearables/data-layer/index.html。)然后,在设备上可以生成指纹和/或提交MusicID查询。然后,您需要再次使用DataItemMessageApi将结果数据传回磨损设备以供显示。

使用这两种方法(将音频字节或指纹传递给手持设备),您需要使用GnMusicId类而不是GnMusicId类。原因是GnMusicIdStream自动化了工作流的多个步骤(捕获音频、生成指纹、基于指纹执行MusicID查询),并且不提供单独执行它们的钩子。GnMusicId是一个较低级别的类,它为您提供了更细粒度的流程控制。

如果选择将音频数据传递给手持设备,则可以使用GnMic.getData().获取磨损设备上的音频字节通过DataItemMessageApi将音频数据字节传递到手持设备。然后,在手持设备上,使用GnMusicId的下列方法生成指纹并执行MusicID查询:

  • fingerprintBegin(GnFingerprintType fpType,long audioSampleRate,long audioSampleSize,long audioChannels)
  • fingerprintWrite(byte[] audioData,long audioDataSize)
  • fingerprintEnd()
  • fingerprintDataGet()
  • findAlbums(java.lang.String fingerprintData,GnFingerprintType fpType)

或者,如果选择在磨损设备上生成指纹,请执行以下操作

  • 调用GnMusicId.fingerprintFromSource(IGnAudioSource audioSource,GnFingerprintType fpType)生成指纹,使用GnMic实例作为IGnAudioSource.
  • 通过GnMusicId.fingerprintDataGet()获取指纹数据
  • 通过DataItemMessageApi将指纹数据传递给手持设备
  • 在手持设备上,呼叫GnMusicId.findAlbums(java.lang.String fingerprintData,GnFingerprintType fpType)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31000227

复制
相关文章

相似问题

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