Ponmalar
Ponmalar

Reputation: 7031

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

Upvotes: 21

Views: 49151

Answers (3)

Winston
Winston

Reputation: 48

A way around that is to do a refresh. This WORKS. I made a home page and had a link to a whatever.html which does the Refresh. The html in whatever.html contains the same html as the home page so it appears to have not left the home page but plays the audio WITHOUT having to click on a audio controls which are actually hidden which just start streaming the audio. What I haven't tried is doing a refresh on the home page which takes the user to the whatever.html which then should play the audio automatically when the user visits the 'home' page. I've put 'home' in quotes because its actually the 'redirected' 'home' page.

<html><head><meta http-equiv="refresh" content="0; URL=http://xxx/myrecord.mp4" /></head><body></body></html>

Upvotes: 0

Denys Sokolov
Denys Sokolov

Reputation: 83

You miss source tag in audio tag check more info about it there https://www.w3schools.com/tags/tag_audio.asp

The easy way embed audio file how DATA URL is online base64 converters. I use Base64 Online, you can select file and get several results, select Audio TAG and you get result like this

<audio controls><source src="data:audio/mpeg;base64,SUQzAwAAAAA2PVRDT04AAAAFAAAAKDApAFRZRVIAAAA..."></audio>

Upvotes: 0

Bharathi D
Bharathi D

Reputation: 1013

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>

Upvotes: 34

Related Questions