You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android平台下如何使用Ionic2 Media插件加载本地音频文件?

How to Load Local Audio Files with the Media Plugin on Android

我之前在使用Media插件加载Android本地音频时也踩过这个坑,Error code 1基本都是文件路径没写对导致的——直接用"assets/sounds/tone.mp3"这种相对路径是不行的,得遵循Android平台的assets文件访问规则来写路径。

下面是具体的解决方法:

  • 使用Android专属的assets文件URI前缀
    对于存放在assets目录下的本地文件,Media插件要求你使用file:///android_asset/作为路径前缀,后面跟上文件在assets内的相对路径。比如你的音频文件在assets/sounds/tone.mp3,正确的路径应该是:

    "file:///android_asset/sounds/tone.mp3"
    
  • 修改后的完整代码示例
    把你的代码调整成这样即可正常加载本地音频:

    this.ringTone = this.media.create("file:///android_asset/sounds/tone.mp3");
    
  • 为什么相对路径会失败?
    在线音频用HTTP/HTTPS URL时,插件能直接识别并发起网络请求,但Android的assets目录属于APK内部的资源目录,有特殊的访问机制,直接用相对路径插件无法定位到文件位置,因此抛出了code 1的错误(本质是“文件未找到”)。

  • 额外检查项

    • 确认你的音频文件确实存放在项目的assets/sounds/目录下(比如Ionic项目是src/assets/sounds/),打包时要保证文件被正确包含进APK的assets目录中。
    • 确保你使用的Media插件版本与你的Cordova/Ionic版本兼容,避免版本不匹配导致的路径解析问题。

内容的提问来源于stack exchange,提问作者Khaled Ramadan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:05:50