Android让我的应用文件只在应用内部播放

时间:2014-10-30 07:23:08

标签: android-mediaplayer android-file android android-audiorecord

我创建了一个应用程序,客户端可以在其中记录少量对话并存储在外部存储中。如果需要,客户端必须能够传输文件。所以我将录制的文件存储在外部存储器中。但客户并不希望从应用程序外部(从SD卡)或音乐播放器播放文件。可能吗?请告诉我。使用内部存储是唯一的方法吗?

2 个答案:

答案 0 :(得分:1)

您提及的内部存储是否意味着应用内的私人位置?据我所知,即使您放入内部存储空间,媒体播放器仍然可以找到该文件,除非它位于您的应用私有位置。

您可以做的是加密文件并存储在外部存储中。当您需要播放时,将文件解密到您的应用私人位置并播放。

答案 1 :(得分:1)

这不是一个编程问题,但是......

这里有2个选项,根据您的要求决定

1)如果您希望记录不会出现在任何播放器中 或多媒体应用程序,您有2个选项: A - 让存储文件夹名称以。 (例如,.myrecords) 要么 B - 在名为.nomedia

的文件夹中添加文件

但这不会保护记录,就好像有人装载SD卡记录可以在任何设备/ PC上复制和播放

2)如果您想保护文件,则需要按照Joey Chong的建议对其进行加密 因此,一旦录制完成,文件就会被加密,并存储在外部存储器中 一旦用户进入播放屏幕并选择要播放的文件,应用程序将首先解密它,在新的(临时文件)中播放,然后在用户离开播放屏幕时删除临时文件。

- 用于将记录导出到PC或其他设备, 你可以添加一个功能(按钮可能)来导出所选的记录,只需将选定的文件解密到特定的文件夹,比如说(/ appfolder / exported /),然后用户可以复制它们或做任何事情...... 一旦导出结束,用户必须在导出文件夹中删除文件。 (也许是一个按钮)清除导出

存储在内部不是一个好主意,特别是音频/视频,因为它可能是大文件,而某些设备没有真正大的内部存储。

这可能是一个评论,但它太长了