0

我正在使用 Android MediaRecorder 通过使用最新的 MediaStore 音频 API 将新的录音创建为 mp3 文件。使用以下代码设置新文件的属性。

val audioCollection = MediaStore.Audio.Media
        .getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY)
val songDetails = ContentValues().apply {
            put(MediaStore.Audio.Media.DISPLAY_NAME, fileName)
            put(MediaStore.Audio.Media.TITLE, "sample title")
            put(MediaStore.Audio.Media.COMPOSER, "sample composer")
            put(MediaStore.Audio.Media.ARTIST, "sample artist")
            put(MediaStore.Audio.Media.IS_PENDING, 1)
            Log.d(TAG, "Setting pending to 1")
        }    
val songContentUri = resolver.insert(audioCollection, songDetails)

但只有DISPLAY_NAME有效,其余都无效。在此之后,我尝试使用以下代码更新文件,但这也不起作用。只有DISPLAY_NAME更改有效。没有其他的。我认为这不是 Google 的错误,因为大多数媒体播放器应用程序都应该可以正常工作。我在这里想念什么?可能有点傻

val newSongDetails = ContentValues().apply {
                put(MediaStore.Audio.Media.IS_PENDING, 0)
                Log.d(TAG, "Setting pending to 0")
                put(MediaStore.Audio.Media.DISPLAY_NAME, "Jul 2 My Favorite Song.mp3")
                put(MediaStore.Audio.Media.TITLE, "test title")
                put(MediaStore.Audio.Media.COMPOSER, "test composer")
                put(MediaStore.Audio.Media.ARTIST, "test artist")
            }

            resolver.update(it, newSongDetails, null, null)
4

0 回答 0