@@ -3,84 +3,15 @@ function trim(s) {
33 return s . replace ( / ( ^ \s * ) | ( \s * $ ) / g, "" ) ;
44}
55
6- /*async function fetchAudio(filename) {
7- const requestOptions = {
8- method: 'POST',
9- headers: {
10- 'Content-Type': 'application/json'
11- },
12- body: JSON.stringify({"filename": filename})
13- };
14-
15- let url = "http://" + window.location.hostname + ":8080" + "/get";
16- // fetch() returns a promise that resolved once headers have been received
17- return fetch(url, requestOptions)
18- .then(res => {
19- if (!res.ok)
20- throw new Error(`${res.status} = ${res.statusText}`);
21- // response.body is a readable stream.
22- // Calling getReader() gives us exclusive access to
23- // the stream's content
24- var reader = res.body.getReader();
25-
26- // read() returns a promise that resolves when a value has been received
27- return reader
28- .read()
29- .then((result) => {
30- return result;
31- });
32- })
33- }*/
34-
35- function fetchAudio ( filename , callback ) {
36- var url = "http://" + window . location . hostname + ":8080" + "/get" ;
37- var xhr = new XMLHttpRequest ( ) ;
38- xhr . open ( 'POST' , url , true ) ;
39- xhr . setRequestHeader ( "Content-Type" , "application/json" ) ;
40- xhr . responseType = "arraybuffer" ;
41- xhr . onload = function ( ) {
42- try {
43- switch ( this . status ) {
44- case 200 :
45- callback ( xhr . response ) ;
46- break ;
47- case 404 :
48- throw 'File Not Found' ;
49- default :
50- throw 'Failed to fetch the file' ;
51- }
52- } catch ( e ) {
53- console . error ( e ) ;
54- }
55- } ;
56- var data = JSON . stringify ( { "filename" : filename } )
57- xhr . send ( data ) ;
58- }
59-
606function getSomething ( ) {
617 var filename = document . getElementById ( 'filename' ) . value ;
62- var player = document . getElementById ( 'player' ) ;
638 if ( trim ( filename ) . length == 0 ) {
649 alert ( "Please input the file name" ) ;
6510 } else {
66- var mediaSource = new MediaSource ( ) ;
67- player . src = URL . createObjectURL ( mediaSource ) ;
68- mediaSource . addEventListener ( 'sourceopen' , function ( ) {
69- var sourceBuffer = mediaSource . addSourceBuffer ( 'audio/mpeg' ) ;
70-
71- fetchAudio ( filename , buffer => {
72- sourceBuffer . appendBuffer ( buffer ) ;
73- } ) ;
74-
75- /*fetchAudio(filename)
76- .then((response) => {
77- sourceBuffer.appendBuffer(response.value);
78- })
79- .catch((error) => {
80- this.setState({
81- error: error.message
82- });
83- });*/
84- } ) ;
11+ var url = "http://" + window . location . hostname + ":8080" + "/get?" ;
12+ url += encodeURI ( "filename=" + filename )
13+ var player = document . getElementById ( 'player' ) ;
14+ player . src = url ;
15+ player . play ( ) ;
8516 }
8617}
0 commit comments