4141 < h1 > waveform-data.js</ h1 >
4242 < p >
4343 waveform-data.js is a JavaScript library that allows you to load and
44- manipulate audio waveform data files
44+ manipulate audio waveform data files.
4545 </ p >
4646 < p >
4747 It was developed by < a href ="https://www.bbc.co.uk/rd "> BBC R&D</ a >
@@ -143,7 +143,14 @@ <h2>Demo: Precomputed Waveform Data</h2>
143143
144144 document . querySelector ( 'button[data-action="load-dat"]' ) . addEventListener ( 'click' , function ( ) {
145145 fetch ( '07023003-2channel.dat' )
146- . then ( response => response . arrayBuffer ( ) )
146+ . then ( response => {
147+ if ( response . ok ) {
148+ return response . arrayBuffer ( ) ;
149+ }
150+ else {
151+ throw new Error ( `${ response . status } ${ response . statusText } ` ) ;
152+ }
153+ } )
147154 . then ( buffer => WaveformData . create ( buffer ) )
148155 . then ( waveform => {
149156 console . log ( `Waveform has ${ waveform . channels } channels` ) ;
@@ -154,12 +161,22 @@ <h2>Demo: Precomputed Waveform Data</h2>
154161 drawWaveform ( canvas , waveform , 0 ) ;
155162
156163 waveformData = waveform ;
164+ } )
165+ . catch ( err => {
166+ console . error ( err . message ) ;
157167 } ) ;
158168 } ) ;
159169
160170 document . querySelector ( 'button[data-action="load-json"]' ) . addEventListener ( 'click' , function ( ) {
161171 fetch ( '07023003-2channel.json' )
162- . then ( response => response . json ( ) )
172+ . then ( response => {
173+ if ( response . ok ) {
174+ return response . json ( ) ;
175+ }
176+ else {
177+ throw new Error ( `${ response . status } ${ response . statusText } ` ) ;
178+ }
179+ } )
163180 . then ( json => WaveformData . create ( json ) )
164181 . then ( waveform => {
165182 console . log ( `Waveform has ${ waveform . channels } channels` ) ;
@@ -170,12 +187,22 @@ <h2>Demo: Precomputed Waveform Data</h2>
170187 drawWaveform ( canvas , waveform , 0 ) ;
171188
172189 waveformData = waveform ;
190+ } )
191+ . catch ( err => {
192+ console . error ( err . message ) ;
173193 } ) ;
174194 } ) ;
175195
176196 document . querySelector ( 'button[data-action="generate"]' ) . addEventListener ( 'click' , function ( ) {
177197 fetch ( '07023003.mp3' )
178- . then ( response => response . arrayBuffer ( ) )
198+ . then ( response => {
199+ if ( response . ok ) {
200+ return response . arrayBuffer ( ) ;
201+ }
202+ else {
203+ throw new Error ( `${ response . status } ${ response . statusText } ` ) ;
204+ }
205+ } )
179206 . then ( buffer => {
180207 const audioContext = new AudioContext ( ) ;
181208
@@ -206,6 +233,9 @@ <h2>Demo: Precomputed Waveform Data</h2>
206233 drawWaveform ( canvas , waveform , 0 ) ;
207234
208235 waveformData = waveform ;
236+ } )
237+ . catch ( err => {
238+ console . error ( err . message ) ;
209239 } ) ;
210240 } ) ;
211241 </ script >
0 commit comments