android - assets 文件夹中的文件需要使用 resId
问题描述
我是 Android 新手,所以这可能是一个愚蠢的问题。
我的资产文件夹中有一个声音文件:
app|assets|www|sounds|hooray.ogg
现在我想将它加载到我的 SoundPool
// THIS IS NOT RIGHT and is underlined in wavy error-red
mySoundPool.load(m_Context,
"file:///android_asset/www/sounds/hooray.ogg",
1);
它是说“file:///android ...”等应该是一个resId。
如何为该文件分配 resId?
解决方案
如何为该文件分配 resId?
你不能。资源 ID 用于资源,而不是资产。
任何一个:
将此文件移动到
app/src/main/res/raw/hooray.ogg
然后R.raw.hooray
用作您的资源 ID,或者用于
getAssets().openFd("www/sounds/hooray.ogg")
获取AssetFileDescriptor
,然后将其传递给您的方法的不同版本load()
SoundPool
推荐阅读
- flutter - Flutter getx无限滚动刷新listview每次结束滚动
- html - 新标签中的角度显示图像
- windows - Visual Studio:删除“我的代码片段”文件夹是否安全?
- java - 使用 JUnit 5 的并发 Spring Boot 测试正在启动多个 JVM
- r - 从闪亮的事件反应生成数据框
- java - 尝试实现 dijkstra 的算法(在我无法完全修复的线程中遇到异常)
- c - 在显示之前将数据传递给 Glade UI
- c++ - 我应该只向构造函数和移动运算符编写 noexcept 吗?
- angular - 为什么在具有 formGroup.errors 时没有 mat-error 的 Angular 表单有效?
- json - Angular 8 - 创建从 POST 请求返回的 JSON 键/值列表