为应用用户快速高效地播放音频和视频的最常用方法?
Posted
技术标签:
【中文标题】为应用用户快速高效地播放音频和视频的最常用方法?【英文标题】:Most common methods to play audio and video for app users fast and efficiently? 【发布时间】:2021-02-13 20:25:58 【问题描述】:我已经看到了几种方法和意见 - 包括流媒体(HLS、RTSP),或者只使用普通的 mp3、AAC、mp4 等。从数据库? (例如,用户点击播放按钮并播放媒体。)文件的大小(媒体的长度)会影响这个选择吗?什么是标准做法?
就上下文而言,我正在设计一个带有 Flutter 的应用程序,使用 AWS 或 firebase 作为后端,允许用户收听音频(短至 5 分钟,长至 20 分钟)并最终观看视频。寻找一种对最终用户来说带宽效率高且速度快的方法。
音频是我的主要目标。
【问题讨论】:
【参考方案1】:HLS 流式传输是提供视频的事实上的方法 - 特别是在超过 5 分钟的情况下。您必须为不同尺寸的屏幕编码不同的尺寸/比特率。好处是这会减少小屏幕的带宽。
对于播放,浏览器本身不支持 Streaming,你需要一个 JS 播放器来播放视频(video.js 是一个很好的)。
有一些 API 和服务可以对您的视频进行编码、托管,并为您提供播放视频的播放器(上传视频并获取播放网址)。我为api.video 工作,但也有Mux 和其他可以为您在构建应用程序时省去很多麻烦的人。
【讨论】:
谢谢!很有帮助【参考方案2】:欢迎使用 ***,
据我所知,大型音频平台使用流媒体。
检查这个颤振包:https://pub.dev/packages/audioplayers
在您的代码中很容易实现。您可以用来播放来自互联网的长音频文件/流。
AudioPlayer audioPlayer = AudioPlayer(mode: PlayerMode.LOW_LATENCY);
play() async
int result = await audioPlayer.play(url);
if (result == 1)
// success
关于播放视频,本人没有经验,无法发表意见。
编码愉快! :)
【讨论】:
感谢您的意见!感谢您的建议以上是关于为应用用户快速高效地播放音频和视频的最常用方法?的主要内容,如果未能解决你的问题,请参考以下文章
Android 音频播放——AudioTrack直接播PCMMediaPlayer播媒体文件可以是audio