使用 Google Cast iOS SDK (Chromecast) 是否可以制作带有单独音频流的视频?

With the Google Cast iOS SDK (Chromecast) is it possible to have a video with a separate audio stream?

我有一个 MP4 URL,只有视频和单独的音轨。我可以通过更改 "main" 流 URL 和相应的内容类型来播放一个或另一个,但我想要两个,显然不是一个或另一个。

有一个核心URL在(傻视频)https://v.redd.it/3hyw7hwoajn21/DASHPlaylist.mpd

您可以在 https://v.redd.it/3hyw7hwoajn21/DASH_720 and its corresponding audio track is at https://v.redd.it/3hyw7hwoajn21/audio

获得只有音频的 MP4 视频

如果我使用 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)]

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

我做错了吗?

音频和视频流必须在同一个清单中,我们才能支持它,否则 SDK 不支持。一般来说,ChromeCast 的硬件仅限于只允许一个 mediaElement。有些应用设法在读书时添加音效,这可能会使用 WebAudio,但这完全是在应用程序中完成的。