android - 使用 FFMPEG 播放音频

标签 android c ffmpeg audio-streaming android-ndk

我一直在尝试使用 NDK 将 FFMPEG(用于播放音频)移植到 Android 中。我取得了一些成功

  • 我可以构建 FFMPEG 并通过 NDK 链接它。
  • 我可以调用 avcodec_decode_audio3() 并解码给定的音频文件。

所以这里我有一个来自函数的音频缓冲区输出。我现在怎么玩这个?任何 ffmpeg 人员都可以告诉我解码和播放音频的确切步骤。我真的不知道如何处理我从 avcodec_decode_audio3() 创建的音频缓冲区。

非常感谢。

最佳答案

为了使用FFmpeg 作为音频播放工具,您可以直到 FFplay (适用于 Windows 和 Linux)。

很简单:ffplay <input audio track> 音轨必须是受支持的格式,这意味着您将需要一些库。

  1. 如果您想要用于 Windows 系统的东西,那么只需下载 构建 here ,然后将可执行文件放入您的环境中 变量路径。也可以通过艰难的方式下载源代码并构建。但何必呢?
  2. 如果您使用的是支持 Linux 的软件,包括 Raspbian this link描述了如何获取库,然后在 FFmpeg 构建。 FFmpeg 构建也将包括 FFplay。我已经对此进行了测试,它似乎对我有用。
  3. 在这两种情况下,您都需要安装C 编译器才能处理 make 命令。

在python3中使用FFplay进程的实现示例:

我正在开展一个个人项目,该项目将 RaspberryPi 用作或多或少的花式 mp3 播放器门铃型物联网设备。它会为任何按门铃的人全力播放 Darude Sandstorm。但它也有一个转折点。它叫做DarudeDoorBell .

关于android - 使用 FFMPEG 播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5000385/

相关文章:

android - Android 中的 ListView 可滚动

android - 如何获取在android中单击的Listview项的值?

c - 释放动态分配的矩阵

c++ - 将 ptr_vector 与 malloc 一起使用

php - 如何限制 ffmpeg 内存使用

php在windows中执行exec时挂起

java - 我的 Android Studio 中没有显示 Android 设备

android - 更改默认搜索栏颜色

c - Travis CI如何添加C库?

node.js - ./node_modules/fluent-ffmpeg/index.js 中的错误模块未找到 : Error: Can't resolve './lib-cov/fluent-ffmpeg'