在Android开发中,可以使用MediaPlayer类来播放音频数据。对于以data:audio/mpeg;base64开头的音频数据,首先需要将其解码为实际的音频文件,然后再使用MediaPlayer进行播放。\n\n以下是一个示例代码:\n\njava\nString base64Data = "data:audio/mpeg;base64,YourBase64EncodedDataHere";\nString[] parts = base64Data.split(",");\nString base64EncodedData = parts[1];\n\nbyte[] audioData = Base64.decode(base64EncodedData, Base64.DEFAULT);\nString tempFileName = "temp.mp3";\n\ntry {\n File tempFile = new File(getCacheDir(), tempFileName);\n FileOutputStream fos = new FileOutputStream(tempFile);\n fos.write(audioData);\n fos.flush();\n fos.close();\n\n MediaPlayer mediaPlayer = new MediaPlayer();\n mediaPlayer.setDataSource(tempFile.getAbsolutePath());\n mediaPlayer.prepare();\n mediaPlayer.start();\n\n // 如果需要监听播放完成事件,可以添加以下代码\n mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {\n @Override\n public void onCompletion(MediaPlayer mediaPlayer) {\n // 播放完成后的操作\n }\n });\n} catch (IOException e) {\n e.printStackTrace();\n}\n\n\n上述代码将以data:audio/mpeg;base64开头的音频数据解码为实际的音频文件,并将其保存在临时文件中。然后使用MediaPlayer加载该临时文件并进行播放。如果需要监听播放完成事件,可以添加一个OnCompletionListener来处理播放完成后的操作。\n\n注意:由于音频数据可能较大,建议将解码和播放操作放在后台线程中执行,以避免阻塞主线程。


原文地址: https://www.cveoy.top/t/topic/pSiA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录