gpt4 book ai didi

android - 如何从选定的 mp3 文件中提取信息?

转载 作者:行者123 更新时间:2023-11-29 23:23:35 24 4
gpt4 key购买 nike

我想从选定的 mp3 文件中获取艺术家、持续时间和标题等信息。但我似乎弄错了。我只是得到一些随机数,这不是我所希望的。我感谢我得到的每一个帮助。

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_add_music)
SelectTrack()
}




private fun SelectTrack() {

val intent = Intent(Intent.ACTION_GET_CONTENT)
intent.type = "audio/mpeg"
startActivityForResult(intent, 0)

}

var selectedTrackUri: Uri? = null


override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)

if (requestCode == 0 && resultCode == Activity.RESULT_OK && data !=null) {

selectedTrackUri = data.data



val title = MediaMetadataRetriever.METADATA_KEY_TITLE.toString()
val duration = MediaMetadataRetriever.METADATA_KEY_DURATION.toString()
val artist = MediaMetadataRetriever.METADATA_KEY_ARTIST.toString()

AddTrackName_txt.text = title
AddArtistName_txt.text = artist
AddTrackLength_txt.text = duration
//Picasso.get().load(album).into(AddTrackPic_View)

}
}

}

最佳答案

问题在于您检索文件元数据的方式,您正在分配用于提取元数据的 keys 的值,而不是从 MediaMetadataRetriever< 读取实际数据.

示例

private fun selectTrack() {
val intent = Intent(Intent.ACTION_GET_CONTENT).apply { type = "audio/mpeg" }
startActivityForResult(intent, RC_MEDIA_FILE)
}

override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)

if (requestCode == RC_MEDIA_FILE && resultCode == Activity.RESULT_OK && intent != null) {
val mmr = MediaMetadataRetriever()
mmr.setDataSource(this, intent.data)

val title = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE)
val artist = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ARTIST)
val duration = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION)

Log.d("MP3", "title=$title, artist=$artist, duration=$duration")
}
}

companion object {
const val RC_MEDIA_FILE = 100
}

输出

D/MP3:title=Sweet Child O'Mine,artist=Guns N' Roses,duration=356444

关于android - 如何从选定的 mp3 文件中提取信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com