Ponmalar Ponmalar - 2 months ago 14
Android Question

Play audio using base64 data in html5

I have created one application to record audio using native mediaPlayer, converting this audio file into base64 data, passing this in html5 audio tag as below,

File file = new File(Environment.getExternalStorageDirectory()+"/"+ "audiofile"+"/"+"myAudio.mp3");
byte[] FileBytes =getBytesFromFile(file);
String base64 = Base64.encodeToString(FileBytes, Base64.NO_WRAP).toString();


public static byte[] getBytesFromFile(java.io.File file) throws IOException
{
InputStream is = new FileInputStream(file);
long length = file.length();
if (length > Integer.MAX_VALUE)
{

}
byte[] bytes = new byte[(int)length];
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
if (offset < bytes.length) {
throw new IOException("Could not completely read file "+file.getName());
}
is.close();
return bytes;
}


passing this base64 value to web page (example base64 data here),

<div id="audiodiv" >
<audio id="audio_player" src="data:audio/mp3;base64,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" controls="controls" autobuffer="autobuffer">
</audio>
</div>


But audio is not playing. Could you please tell me what mistake i did?


Note: myAudio.mp3 is the recorded audio file that is stored in sdcard

Answer

Please try the below code..

check with android supported audio codec..

http://developer.android.com/guide/appendix/media-formats.html

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<audio controls="controls" autobuffer="autobuffer" autoplay="autoplay">
    <source src="data:audio/wav;base64,UklGRhwMAABXQVZFZm10IBAAAAABAAEAgD4AAIA+AAABAAgAZGF0Ya4LAACAgICAgICAgICAgICAgICAgICAgICAgICAf3hxeH+AfXZ1eHx6dnR5fYGFgoOKi42aloubq6GOjI2Op7ythXJ0eYF5aV1AOFFib32HmZSHhpCalIiYi4SRkZaLfnhxaWptb21qaWBea2BRYmZTVmFgWFNXVVVhaGdbYGhZbXh1gXZ1goeIlot1k6yxtKaOkaWhq7KonKCZoaCjoKWuqqmurK6ztrO7tbTAvru/vb68vbW6vLGqsLOfm5yal5KKhoyBeHt2dXBnbmljVlJWUEBBPDw9Mi4zKRwhIBYaGRQcHBURGB0XFxwhGxocJSstMjg6PTc6PUxVV1lWV2JqaXN0coCHhIyPjpOenqWppK6xu72yxMu9us7Pw83Wy9nY29ve6OPr6uvs6ezu6ejk6erm3uPj3dbT1sjBzdDFuMHAt7m1r7W6qaCupJOTkpWPgHqAd3JrbGlnY1peX1hTUk9PTFRKR0RFQkRBRUVEQkdBPjs9Pzo6NT04Njs+PTxAPzo/Ojk6PEA5PUJAQD04PkRCREZLUk1KT1BRUVdXU1VRV1tZV1xgXltcXF9hXl9eY2VmZmlna3J0b3F3eHyBfX+JgIWJiouTlZCTmpybnqSgnqyrqrO3srK2uL2/u7jAwMLFxsfEv8XLzcrIy83JzcrP0s3M0dTP0drY1dPR1dzc19za19XX2dnU1NjU0dXPzdHQy8rMysfGxMLBvLu3ta+sraeioJ2YlI+MioeFfX55cnJsaWVjXVlbVE5RTktHRUVAPDw3NC8uLyknKSIiJiUdHiEeGx4eHRwZHB8cHiAfHh8eHSEhISMoJyMnKisrLCszNy8yOTg9QEJFRUVITVFOTlJVWltaXmNfX2ZqZ21xb3R3eHqAhoeJkZKTlZmhpJ6kqKeur6yxtLW1trW4t6+us7axrbK2tLa6ury7u7u9u7vCwb+/vr7Ev7y9v8G8vby6vru4uLq+tri8ubi5t7W4uLW5uLKxs7G0tLGwt7Wvs7avr7O0tLW4trS4uLO1trW1trm1tLm0r7Kyr66wramsqaKlp52bmpeWl5KQkImEhIB8fXh3eHJrbW5mYGNcWFhUUE1LRENDQUI9ODcxLy8vMCsqLCgoKCgpKScoKCYoKygpKyssLi0sLi0uMDIwMTIuLzQ0Njg4Njc8ODlBQ0A/RUdGSU5RUVFUV1pdXWFjZGdpbG1vcXJ2eXh6fICAgIWIio2OkJGSlJWanJqbnZ2cn6Kkp6enq62srbCysrO1uLy4uL+/vL7CwMHAvb/Cvbq9vLm5uba2t7Sysq+urqyqqaalpqShoJ+enZuamZqXlZWTkpGSkpCNjpCMioqLioiHhoeGhYSGg4GDhoKDg4GBg4GBgoGBgoOChISChISChIWDg4WEgoSEgYODgYGCgYGAgICAgX99f398fX18e3p6e3t7enp7fHx4e3x6e3x7fHx9fX59fn1+fX19fH19fnx9fn19fX18fHx7fHx6fH18fXx8fHx7fH1+fXx+f319fn19fn1+gH9+f4B/fn+AgICAgH+AgICAgIGAgICAgH9+f4B+f35+fn58e3t8e3p5eXh4d3Z1dHRzcXBvb21sbmxqaWhlZmVjYmFfX2BfXV1cXFxaWVlaWVlYV1hYV1hYWVhZWFlaWllbXFpbXV5fX15fYWJhYmNiYWJhYWJjZGVmZ2hqbG1ub3Fxc3V3dnd6e3t8e3x+f3+AgICAgoGBgoKDhISFh4aHiYqKi4uMjYyOj4+QkZKUlZWXmJmbm52enqCioqSlpqeoqaqrrK2ur7CxsrGys7O0tbW2tba3t7i3uLe4t7a3t7i3tre2tba1tLSzsrKysbCvrq2sq6qop6alo6OioJ+dnJqZmJeWlJKSkI+OjoyLioiIh4WEg4GBgH9+fXt6eXh3d3V0c3JxcG9ubWxsamppaWhnZmVlZGRjYmNiYWBhYGBfYF9fXl5fXl1dXVxdXF1dXF1cXF1cXF1dXV5dXV5fXl9eX19gYGFgYWJhYmFiY2NiY2RjZGNkZWRlZGVmZmVmZmVmZ2dmZ2hnaGhnaGloZ2hpaWhpamlqaWpqa2pra2xtbGxtbm1ubm5vcG9wcXBxcnFycnN0c3N0dXV2d3d4eHh5ent6e3x9fn5/f4CAgIGCg4SEhYaGh4iIiYqLi4uMjY2Oj5CQkZGSk5OUlJWWlpeYl5iZmZqbm5ybnJ2cnZ6en56fn6ChoKChoqGio6KjpKOko6SjpKWkpaSkpKSlpKWkpaSlpKSlpKOkpKOko6KioaKhoaCfoJ+enp2dnJybmpmZmJeXlpWUk5STkZGQj4+OjYyLioqJh4eGhYSEgoKBgIB/fn59fHt7enl5eHd3dnZ1dHRzc3JycXBxcG9vbm5tbWxrbGxraWppaWhpaGdnZ2dmZ2ZlZmVmZWRlZGVkY2RjZGNkZGRkZGRkZGRkZGRjZGRkY2RjZGNkZWRlZGVmZWZmZ2ZnZ2doaWhpaWpra2xsbW5tbm9ub29wcXFycnNzdHV1dXZ2d3d4eXl6enp7fHx9fX5+f4CAgIGAgYGCgoOEhISFhoWGhoeIh4iJiImKiYqLiouLjI2MjI2OjY6Pj46PkI+QkZCRkJGQkZGSkZKRkpGSkZGRkZKRkpKRkpGSkZKRkpGSkZKRkpGSkZCRkZCRkI+Qj5CPkI+Pjo+OjY6Njo2MjYyLjIuMi4qLioqJiomJiImIh4iHh4aHhoaFhoWFhIWEg4SDg4KDgoKBgoGAgYCBgICAgICAf4CAf39+f35/fn1+fX59fHx9fH18e3x7fHt6e3p7ent6e3p5enl6enl6eXp5eXl4eXh5eHl4eXh5eHl4eXh5eHh3eHh4d3h4d3h3d3h4d3l4eHd4d3h3eHd4d3h3eHh4eXh5eHl4eHl4eXh5enl6eXp5enl6eXp5ent6ent6e3x7fHx9fH18fX19fn1+fX5/fn9+f4B/gH+Af4CAgICAgIGAgYCBgoGCgYKCgoKDgoOEg4OEg4SFhIWEhYSFhoWGhYaHhoeHhoeGh4iHiIiHiImIiImKiYqJiYqJiouKi4qLiouKi4qLiouKi4qLiouKi4qLi4qLiouKi4qLiomJiomIiYiJiImIh4iIh4iHhoeGhYWGhYaFhIWEg4OEg4KDgoOCgYKBgIGAgICAgH+Af39+f359fn18fX19fHx8e3t6e3p7enl6eXp5enl6enl5eXh5eHh5eHl4eXh5eHl4eHd5eHd3eHl4d3h3eHd4d3h3eHh4d3h4d3h3d3h5eHl4eXh5eHl5eXp5enl6eXp7ent6e3p7e3t7fHt8e3x8fHx9fH1+fX59fn9+f35/gH+AgICAgICAgYGAgYKBgoGCgoKDgoOEg4SEhIWFhIWFhoWGhYaGhoaHhoeGh4aHhoeIh4iHiIeHiIeIh4iHiIeIiIiHiIeIh4iHiIiHiIeIh4iHiIeIh4eIh4eIh4aHh4aHhoeGh4aHhoWGhYaFhoWFhIWEhYSFhIWEhISDhIOEg4OCg4OCg4KDgYKCgYKCgYCBgIGAgYCBgICAgICAgICAf4B/f4B/gH+Af35/fn9+f35/fn1+fn19fn1+fX59fn19fX19fH18fXx9fH18fXx9fH18fXx8fHt8e3x7fHt8e3x7fHt8e3x7fHt8e3x7fHt8e3x7fHt8e3x8e3x7fHt8e3x7fHx8fXx9fH18fX5+fX59fn9+f35+f35/gH+Af4B/gICAgICAgICAgICAgYCBgIGAgIGAgYGBgoGCgYKBgoGCgYKBgoGCgoKDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KDgoOCg4KCgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGBgYCBgIGAgYCBgIGAgYCBgIGAgYCBgIGAgYCBgIGAgYCAgICBgIGAgYCBgIGAgYCBgIGAgYCBgExJU1RCAAAASU5GT0lDUkQMAAAAMjAwOC0wOS0yMQAASUVORwMAAAAgAAABSVNGVBYAAABTb255IFNvdW5kIEZvcmdlIDguMAAA" />
</audio>

</body>
</html>
Comments