我想将我的音频文件保存到Android 10中的共享存储中,该文件是使用以下方法创建的:
textToSpeech.synthesizeToFile(text,params,file,"utterance_id");
***文件***是使用createFile()方法创建的ParcelFileDescriptor类型:
public void createFile()
{
ContentValues values = new ContentValues(4);
values.put(MediaStore.Audio.Media.TITLE, "Audioasas");
values.put(MediaStore.Audio.Media.DATE_ADDED, (int) (System.currentTimeMillis() / 1000));
values.put(MediaStore.Audio.Media.MIME_TYPE, "audio/mp3");
values.put(MediaStore.Audio.Media.RELATIVE_PATH, "Music/Recordings/");
audiouri = getContentResolver().insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values);
try {
file=getContentResolver().openFileDescriptor(audiouri,"w");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
这里的问题是,下面的方法
public int synthesizeToFile (CharSequence text,
Bundle params,
ParcelFileDescriptor fileDescriptor,
String utteranceId)
在API级别30(Android 11)中添加。
对于android 10,我们有:
public int synthesizeToFile (CharSequence text,
Bundle params,
File file,
String utteranceId)
但是getContentResolver().openFileDescriptor(audiouri,"w")
方法总是返回FileDescriptor对象。
因此,我的问题是,如何将我的音频文件保存到使用
第一个
1条答案
按热度按时间i7uq4tfw1#
使用fdopen()函数
FILE* fp = fdopen(fd, "w");