首页 > 解决方案 > 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?

标签: androidsoundpool

解决方案


如何为该文件分配 resId?

你不能。资源 ID 用于资源,而不是资产。

任何一个:

  • 将此文件移动到app/src/main/res/raw/hooray.ogg然后R.raw.hooray用作您的资源 ID,或者

  • 用于getAssets().openFd("www/sounds/hooray.ogg")获取AssetFileDescriptor,然后将其传递给您的方法的不同版本load()SoundPool


推荐阅读