android - 如何统一从插件接收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。但它太慢了:(请帮助我。
解决方案
我假设您的最终目标是播放从插件中选择的音乐文件。由于您已经能够检索音乐文件的路径。下一步是将此音乐文件放入 Unity 中的AudioClip。然后使用AudioSource播放它。
我找到了这篇文章。虽然 AudioClip 是在 Windows 系统上创建的,但我认为只要在 Android 系统上传递正确的文件路径,它就可以工作。
推荐阅读
- c# - 报表设计器如何从左到右将记录“溢出”到第二行
- spring-boot - 套接字保持活动属性
- python-3.x - 在熊猫中将多类别列转换为两个类别
- python - Discord Bot-AttributeError:“str”对象没有属性“loop”
- elixir - 在 Elixir 中构建枚举有哪些好的做法?
- sql - 在 impala 中找到连续值
- google-cloud-platform - 我可以使用什么地方 appcfg.py 下载/更新谷歌云?
- git-bash - Git Bash 中的 .cmd 有什么用?
- laravel-5 - 如何解决 Freescout 中的附件/存储问题
- bash - 检查睡眠后删除的文件大小