首页 > 解决方案 > 如何统一从插件接收mp3文件?

问题描述

我正在制作一款手机节奏游戏。我使用 Android 插件从 /storage/emulated/0/Music 获取歌曲。

获取歌曲名称和音乐专辑封面

public class Impormation {
    private MediaMetadataRetriever metaRetriver;
    private byte[] image;
    private String title;

    private Context context;
    public Impormation(Context context)
    {
        this.context = context;
    }
    public String setPath(String path)
    {
        metaRetriver = new MediaMetadataRetriever();
        metaRetriver.setDataSource(path);

        image = metaRetriver.getEmbeddedPicture();
        title = metaRetriver.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
        return path;
    }
    public byte[] getart()
    {
        return image;
    }
    public String gettitle()
    {
        return title;
    }
}

但我不知道如何将 mp3 文件插件恢复为统一。起初,我将 mp3 文件转换为 byte[],但我可以将 byte[] 统一转换为 audioclip。我考虑将 mp3 转换为 wav。但它太慢了:(请帮助我。

标签: androidunity3dmp3

解决方案


我假设您的最终目标是播放从插件中选择的音乐文件。由于您已经能够检索音乐文件的路径。下一步是将此音乐文件放入 Unity 中的AudioClip。然后使用AudioSource播放它。

我找到了这篇文章。虽然 AudioClip 是在 Windows 系统上创建的,但我认为只要在 Android 系统上传递正确的文件路径,它就可以工作。


推荐阅读