簡體   English   中英

如何將錄制的音頻保存到內部存儲android

[英]How to save recorded audio into internal storage android

我多次嘗試將錄制的音頻保存到內部存儲中,但出現異常

引起:java.io.FileNotFoundException:/data/user/0/sepahtan.sepahtan/files/sound/1653658919164.3gp:打開失敗:ENOENT(沒有這樣的文件或目錄)

private fun getFileName(): String {
    val path = requireContext().filesDir.path
    val file = File(path,"sound")

    try {
        file.mkdirs()
    }catch (e:Exception){}

    return "$file/${System.currentTimeMillis()}.3gp"
}

這個函數給了我路徑,我把它放進去

mediaPlayer.setDataSource(getFileName())

我已經研究過關於這個標題的所有問題

您需要的功能實際上是這樣的:

fun saveRecordedAudio(inputStream: InputStream) {
    val outputStream: OutputStream = FileOutputStream(getFileName())

    val buffer = ByteArray(1024)
    var read: Int
    var total: Long = 0
    while (inputStream.read(buffer).also { read = it } != -1) {
        outputStream.write(buffer, 0, read)
        total += read.toLong()
    }
    
    inputStream.close()
    outputStream.close()
}

mediaPlayer.setDataSource(getFileName())之前,實際上您需要使用上述函數獲取錄制文件的 inputStream 並將其保存到內部存儲中。

您可以使用 Android SDK 包中的 AudioRecord API 錄制音頻。

請注意,對於不同的 Android 版本,保存到存儲可能是一個挑戰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM