【问题标题】:Unable to cast music to Chromecast无法将音乐投射到 Chromecast
【发布时间】:2017-08-23 16:51:18
【问题描述】:

我正在尝试为 Chromecast 设备建立一个简单的音频流。这只是我熟悉 API 的 POC。我想要做的是加载用户的库,选择一首歌曲,然后将其转换。我一直在密切关注integration guide,但无济于事。

请在 Github here 上找到完整的项目。

我的代码概览,AppDelegate.m

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    GCKCastOptions *options = [GCKCastOptions.alloc initWithReceiverApplicationID:kGCKMediaDefaultReceiverApplicationID];

    [GCKCastContext setSharedInstanceWithOptions:options];
    [GCKCastContext.sharedInstance.sessionManager addListener:self];
}

UITableViewDelegate

- (void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
MPMediaItem *mediaItem = MusicManager.sharedManager[index];
    NSString *path = [MPMediaLibrary.defaultMediaLibrary pathForAssetURL:mediaItem.assetURL];

    GCKMediaMetadata *metadata = [GCKMediaMetadata.alloc initWithMetadataType:GCKMediaMetadataTypeMusicTrack];

    [metadata setString:mediaItem.title forKey:kGCKMetadataKeyTitle];
    [metadata setString:mediaItem.artist forKey:kGCKMetadataKeyArtist];
    [metadata setString:mediaItem.albumTitle forKey:kGCKMetadataKeyAlbumTitle];

    GCKMediaInformation *mediaInfo = [GCKMediaInformation.alloc initWithContentID:path
                                                                       streamType:GCKMediaStreamTypeBuffered
                                                                      contentType:[self fileMIMEType:path]
                                                                         metadata:metadata
                                                                   streamDuration:mediaItem.playbackDuration
                                                                       customData:nil];

    [GCKCastContext.sharedInstance.sessionManager.currentCastSession.remoteMediaClient loadMedia:mediaInfo autoplay:YES];
}

我通过点击 GCKCastButton 和 Start Session 来启动选角会话,我的电视会显示 Cast 标志,然后当我点击一首特定歌曲时,我的电视会简要显示元数据(即歌曲标题、艺术家姓名等)。 ),然后恢复为 Chromecast 徽标。在设备上,如果我停留在GCKCastButton 提供的屏幕上,我还可以看到本应正在播放的歌曲的详细信息,但几秒钟后很快变为“未选择媒体”。

我检查了文件路径、MIME 类型,一切都正确且可播放。我什至尝试过捆绑一个简短的 MP3 并尝试投射它,但无济于事。

不禁觉得我在这里遗漏了一些东西,集成指南并没有真正提供更多信息。

感谢任何见解。谢谢!

【问题讨论】:

    标签: ios objective-c chromecast


    【解决方案1】:

    我似乎错误地认为演员库从提供的文件本身启动了一个流。但它需要 Chromecast 设备的实际 URL 才能执行 GET 操作。

    我想这可以通过在 iOS 设备上本地运行服务器来解决。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-08
    • 2014-03-13
    • 2019-01-12
    • 2015-08-19
    • 2015-05-30
    • 2017-12-01
    • 2016-10-12
    相关资源
    最近更新 更多