使用Google Cast iOS SDK(Chromecast)可以使视频具有单独的音频流吗?

时间:2019-03-22 17:11:15

标签: chromecast google-cast google-cast-sdk

我有一个MP4 URL,仅包含视频和单独的音轨。我可以通过更改“主”流URL和相应的内容类型来播放一个或另一个,但显然我想要两者,而不是一个。

(愚蠢的视频)https://v.redd.it/3hyw7hwoajn21/DASHPlaylist.mpd

有一个核心URL

您只能在https://v.redd.it/3hyw7hwoajn21/DASH_720处获得带有音频的MP4视频,而其对应的音轨在https://v.redd.it/3hyw7hwoajn21/audio

如果我使用iOS SDK播放MP4,则可以正常运行,但没有音频:

let url = URL(string: "https://v.redd.it/3hyw7hwoajn21/DASH_720")!

let mediaInfoBuilder = GCKMediaInformationBuilder(contentURL: url)
mediaInfoBuilder.contentID = url.absoluteString
mediaInfoBuilder.streamType = .buffered
mediaInfoBuilder.streamDuration = TimeInterval(75)
mediaInfoBuilder.contentType = "video/mp4"
mediaInfoBuilder.metadata = metadata

let mediaInfo = mediaInfoBuilder.build()

因此,我尝试在调用build()之前添加音频轨道,并尝试遵循documentation here

mediaInfoBuilder.mediaTracks = [GCKMediaTrack(identifier: 98911, contentIdentifier: nil, contentType: "audio/mp4", type: GCKMediaTrackType.audio, textSubtype: GCKMediaTextTrackSubtype.unknown, name: "Fun time fun", languageCode: "en", customData: nil)]

但是结果是一样的:没有音频。

我做错了吗?

1 个答案:

答案 0 :(得分:1)

如果不支持,则音频和视频流必须位于同一清单中,以便我们支持它,否则SDK不支持。通常,ChromeCast的硬件仅限于允许一个mediaElement。一些应用程序设法在读书时增加声音效果,这可能会使用WebAudio,但这完全是在应用程序中完成的。