问题描述
我有一个 kotlin 功能,可以将录制的音频设置为我的铃声。 它将声音文件复制到铃声库中,我可以播放它。 问题是 1 - 将标题设置为 1617159412418 而不是我在内容值中指定的字符串标题 2 - 它没有选择默认铃声
我使用 Android API 29 手机(三星 M02s) 请让我知道可能是什么问题 ————代码————
fun setTone() {
//recorded sound file
val inputfile = getAudioFile() + ".wav"
val f = File(inputfile)
val value = ContentValues()
value.put(MediaColumns.TITLE,f.name)
value.put(MediaColumns.SIZE,f.length())
value.put(MediaColumns.MIME_TYPE,"audio/*")
value.put(MediaStore.Audio.Media.ARTIST,"jothiring")
value.put(MediaStore.Audio.Media.DURATION,500)
value.put(MediaStore.Audio.Media.IS_ALARM,false)
value.put(MediaStore.Audio.Media.IS_MUSIC,false)
value.put(MediaStore.Audio.Media.IS_NOTIFICATION,false)
value.put(MediaStore.Audio.Media.IS_ringtone,true)
val cr: ContentResolver = contentResolver
val newUri: Uri? = cr.insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,value)
if (newUri != null) {
val inputstream = FileInputStream(inputfile)
val outputstream = cr.openOutputStream(newUri)
val buffer = ByteArray(1024)
var read: Int = inputstream.read(buffer)
while(read != -1) {
outputstream?.write(buffer,read)
read = inputstream.read(buffer)
}
inputstream.close()
outputstream?.close()
//set default ringtone
ringtoneManager.setActualDefaultringtoneUri(this,ringtoneManager.TYPE_ringtone,newUri!!)
}
} //end setTone
解决方法
在 contentvalues 中填写 MediaStore.Audio.Media.DISPLAY_NAME 值然后插入