我的目标是在应用程序中播放 Youtube 视频。
- Youtube Player API 不是我想要的,因为视频前面可能有叠加层。
- Webview 的性能很差,而且不允许自动播放。
Exoplayer 看起来不错,但他们的大部分文档都已损坏(链接),对于一个非常简单的任务来说非常复杂,并且不提供工作演示(他们的演示崩溃......)。此外,他们没有解释如何正确获取 youtube URL 的 DASH。
那么,有没有办法让 Exoplayer 轻松和获取任何 youtube 链接的 DASH 信息,例如 https://www.youtube.com/watch?v=yFAnn2j4iB0 ?
我使用 http://www.youtube.com/get_video_info?&video_id=yFAnn2j4iB0解码后我得到这个 DASH url:https://manifest.googlevideo.com/api/manifest/dash/ms/au/nh/IgpwcjAxLnBhcjAxKgkxMjcuMC4wLjE/mv/m/source/youtube/requiressl/yes/ip/165.225.76.70/fexp/3300108,3300130,3300161,3313267,9419451,9422596,9424135,9425619,9426788,9428398,9431012,9431719,9433096,9433223,9433946,9435526,9438327,9438662,9439580,9441225,9441737,9442156,9442424,9442426,9442680,9443322,9443345,9443768,9443913,9444207,9445344/ipbits/0/as/fmp4_audio_clear,webm_audio_clear,webm2_audio_clear,fmp4_sd_hd_clear,webm2_sd_hd_clear/sparams/as,hfr,id,initcwndbps,ip,ipbits,itag,mm,mn,ms,mv,nh,pl,playback_host,requiressl,source,expire/pl/23/id/c850279f68f8881d/mn/sn-25g7snee/mm/31/hfr/1/playback_host/r18---sn-25g7snee.googlevideo.com/itag/0/mt/1471872416/sver/3/key/yt6/initcwndbps/9365000/expire/1471894709/upn/w1CO218TeQA/s/11395DF1FE7737DA54826F38EE1C61D28B46619DC.9724AB654EE916E8B5C5F687BE3504E4799BA939933
但它并没有在 Exoplayer 演示中开始抛光。这个 DASH 正确吗?你们有人在他们的应用程序中使用 ExoPlayer 吗?
目前我找到的文档:
How to play youtube video in ExoPlayer in Android?
https://github.com/google/ExoPlayer/tree/release-v1/demo_ext (但它崩溃了><)
最佳答案
如果您的目标是播放 YouTube 视频,请使用 YouTube Android Player API .您需要向 Exoplayer 提供直接 URL。
关于android - 用于 Youtube 视频的 Exoplayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083918/