首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用SQLite数据库中的路径数据播放声音

如何利用SQLite数据库中的路径数据播放声音
EN

Stack Overflow用户
提问于 2015-03-24 17:46:16
回答 1查看 1.6K关注 0票数 1

我出了点小问题,也许你知道我能做什么。我得到了数据库,其中一列是RECORD_PATH,在本专栏中,我想存储声音的路径,并在媒体播放器上使用它。现在,我不知道哪一种方式更好(SD/ASSETS/RAW上的声音)。我也不知道怎样才能把这条路传递给媒体播放器?有人有类似的问题,并解决了自己的项目?

EN

回答 1

Stack Overflow用户

发布于 2015-03-24 17:56:23

您将希望使用内置常量来访问用户SD卡。

您可以从以下调用中获得此路径:

代码语言:javascript
运行
复制
Environment.getExternalStorageDirectory().getAbsolutePath()

但是,请不要忘记在清单中添加以下权限:

代码语言:javascript
运行
复制
<manifest ...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>

因此,将所有这些放在一起,您可以为保存文件执行类似的操作:

代码语言:javascript
运行
复制
String myAppDir = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + 'raw';
String fileName = "myFile.wav";

String filePath = myAppDir + File.separator + fileName;

File f = new File(filePath);
f.write(...);
f.flush();
f.close();

然后,要将文件传递给内置播放器,您可以按以下方式创建并调用意图:

代码语言:javascript
运行
复制
File file = new File(filePath);
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(i);

如果你有任何问题,请告诉我,我可以把答案再扩大一点。

更新:

上面的内容是保存一个文件,然后使用内置的媒体播放器播放该文件。

如果文件已经在SD卡上,并且希望以编程方式播放该文件,则可以使用以下代码:

代码语言:javascript
运行
复制
mpintro = MediaPlayer.create(this, Uri.parse(Environment.getExternalStorageDirectory().getPath()+ "/raw/intro.mp3"));
mpintro.setLooping(true);
        mpintro.start();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29239489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档