Advertisement
stiansjogren

hei

Jan 19th, 2016
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. // The Audio player
  3. var my_media = null ;
  4. var mediaTimer = null;
  5. // duration of media (song)
  6. var dur = -1;
  7. // need to know when paused or not
  8. var is_paused = false;
  9. var src = '';
  10.  
  11. //function init() {
  12.  
  13. //    document.addEventListener("deviceready", onDR, false);
  14. //}
  15. //Set audio position on page
  16. function setAudioPosition(position) {
  17.     $("#audio_position").html(position + " sec");
  18. }
  19.  
  20. //onSuccess Callback
  21. function onSuccess() {
  22.     setAudioPosition(dur);
  23.     clearInterval(mediaTimer);
  24.     mediaTimer = null;
  25.     my_media = null;
  26.     is_paused = false;
  27.     dur = -1;
  28. }
  29.  
  30. //onError Callback
  31. function onError(error) {
  32.     alert('code: '    + error.code    + '\n' +
  33.             'message: ' + error.message + '\n');
  34.     clearInterval(mediaTimer);
  35.     mediaTimer = null;
  36.     my_media = null;
  37.     is_paused = false;
  38.     setAudioPosition("0");
  39. }
  40.  
  41. function playAudio(src) {
  42.     console.log("Play Audio " + src);
  43.     if (my_media) {
  44.     my_media.stop();
  45.     }
  46.    
  47.     // Create Media object from src, and set the onSuccess and onError methods
  48.     my_media = new Media(src, onSuccess, onError);
  49.  
  50.             // Play audio
  51.     my_media.play();
  52.  
  53.    
  54.     // Update my_media position every second
  55.             if (mediaTimer == null) {
  56.                 mediaTimer = setInterval(function() {
  57.                     // get my_media position
  58.                     my_media.getCurrentPosition(
  59.                         // success callback
  60.                         function(position) {
  61.                             if (position > -1) {
  62.                                 setAudioPosition((position) + " sec");
  63.                             }
  64.                         },
  65.                         // error callback
  66.                         function(e) {
  67.                             console.log("Error getting pos=" + e);
  68.                             setAudioPosition("Error: " + e);
  69.                         }
  70.                     );
  71.                 }, 1000);
  72.             }
  73.         }
  74.  
  75.  
  76.    // get duration
  77.  
  78.     if(my_media) var dur = my_media.getDuration();
  79.  
  80.     if (dur > 0){
  81.     console.log("Media Duration : " +dur );
  82.     docuement.getElementById('media_dur').innerHTML=(dur) + "sec";
  83.    }
  84.  
  85. //Pause audio
  86. function pauseAudio() {
  87.     console.log('pressed pause audio');
  88.      if (is_paused) {
  89.         if (my_media) {
  90.             is_paused = false;
  91.             my_media.play();
  92.             $("#pauseaudio").text("Pause");
  93.         }
  94.     } else {
  95.         if (my_media) {
  96.             is_paused = true;
  97.             my_media.pause();
  98.             $("#pauseaudio").text("Play");
  99.         }
  100.     }
  101. }
  102.  
  103. //Stop audio
  104. function stopAudio() {
  105.     if (my_media) {
  106.         // A successful .stop() will call .release()
  107.         my_media.stop();
  108.         my_media = null;
  109.     }
  110.     if (mediaTimer) {
  111.         clearInterval(mediaTimer);
  112.         mediaTimer = null;
  113.     }
  114.     is_paused = false;
  115.     dur = 0;
  116. }
  117.  
  118. /* Concert  */
  119.  
  120. function searchConcerts(nameArtist, nameCity) {
  121. //  var url = http://api.setlist.fm/rest/0.1/search/setlist.json?artistName="nameArtist"&cityName="nameCity";
  122.     var serviceURL = "http://api.setlist.fm/rest/0.1/search/setlists.json?";
  123.     var parameter = new String();
  124.     parameter = parameter.concat("artistName=", nameArtist, "&cityName=", nameCity);
  125.     var url = serviceURL + "" + parameter;
  126.     console.log(url);
  127.    
  128.      $.ajax({
  129.         url : serviceURL + "" + parameter,
  130.         type : "GET",
  131.      dataType : "json",
  132.         success : parseConcert,
  133.         error : showError
  134. });
  135.  
  136.  
  137.  
  138. }
  139.  
  140. function parseConcert(dataJson){
  141.     console.log("response " + dataJson);
  142.     var result = document.createElement("p");
  143.             var textNode = document.createTextNode( " Event date : " + dataJson.setlists.setlist[0]['@eventDate'] + " Event tour : " + dataJson.setlists.setlist[0]['@tour']);
  144.     result.appendChild(textNode);
  145.     document.getElementById("resultConcert").appendChild(result);
  146.  
  147. }
  148.  
  149. /* Tour */
  150.  
  151.  
  152. function searchTour(nameArtist,nameTour){
  153.     var serviceURL = "http://api.setlist.fm/rest/0.1/search/setlists.json?";
  154.     var parameter = new String();
  155.     // SEE searchConcert
  156.  
  157.     $.ajax({
  158.         url : serviceURL + "" + parameter,
  159.         type : "GET",
  160.         //        dataType : "json",
  161.         success : parseTour,
  162.         error : showError
  163.         });
  164.  
  165. }
  166.  
  167. function parseTour(dataJson){
  168.     console.log("response " + dataJson);
  169.    
  170.    
  171. }
  172.  
  173. /**
  174.  * Callback ajax error
  175.  * @param request
  176.  * @param error
  177.  * @param obj
  178.  */
  179. function showError(request, error, obj) {
  180.         console.log("Error received" + error + " " + request);
  181.         alert("Error contacting remote Server.");
  182. }
  183.  
  184. $( function() {
  185.        
  186.     /*$('#playaudio').click(function() {
  187.         // Note: two ways to access media file: web and local file        
  188.         //src = 'http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3';
  189.        
  190.         // local (on device): copy file to project's /assets folder:
  191.         //var src = '/android_asset/spittinggames.m4a';
  192.        
  193.         playAudio(src);
  194.     });*/
  195.  
  196.     // Start with Manual selected and Flip Mode hidden
  197.     $('#nav-manual').focus();
  198.     $('#content-list1').hide();
  199.     $('#content-list2').hide();
  200.     $('#content-list3').hide();
  201.     $('#content-list4').hide();
  202.    
  203.     $('#nav-manual').live('tap', function() {
  204.         console.log("nav-manual taped");
  205.         $('#content-list1').hide();
  206.     $('#content-list2').hide();
  207.     $('#content-list3').hide();
  208.     $('#content-list4').hide();
  209.         $('#content-manual').show();
  210.         stopAudio();
  211.     });
  212.    
  213.     $('#nav-list1').live('tap', function() {
  214.         $('#content-manual').hide();   
  215.     $('#content-list2').hide();
  216.     $('#content-list3').hide();
  217.     $('#content-list4').hide();
  218.         $('#content-list1').show();
  219.     });
  220.  $('#nav-list2').live('tap', function() {
  221.         $('#content-manual').hide();   
  222.         $('#content-list1').hide();
  223.     $('#content-list3').hide();
  224.     $('#content-list4').hide();
  225.         $('#content-list2').show();
  226.     });
  227.    
  228.  $('#nav-list3').live('tap', function() {
  229.         $('#content-manual').hide();   
  230.         $('#content-list2').hide();
  231.     $('#content-list1').hide();
  232.     $('#content-list4').hide();
  233.         $('#content-list3').show();
  234.     });
  235.    
  236.  $('#nav-list4').live('tap', function() {
  237.         $('#content-manual').hide();   
  238.         $('#content-list2').hide();
  239.     $('#content-list3').hide();
  240.     $('#content-list1').hide();
  241.         $('#content-list4').show();
  242.     });
  243.        
  244.  
  245.     $("#pauseaudio").live('click', function() {
  246.         pauseAudio();
  247.     });
  248.    
  249.     $("#stopaudio").live('tap', function() {
  250.         stopAudio();
  251.     });
  252.    
  253.     $('#music1').click(function() {
  254.         src = 'http://www.universal-soundbank.com/mp3/sounds/10157.mp3';
  255.         playAudio(src);
  256.     });
  257.    
  258.     $('#music2').click(function() {
  259.         src = 'http://www.universal-soundbank.com/mp3/sounds/10183.mp3';
  260.         playAudio(src);
  261.     });
  262.    
  263.     $('#music3').click(function() {
  264.         src = 'http://folk.ntnu.no/henninsc/thug.mp3';
  265.         playAudio(src);
  266.     });
  267.    
  268.     $('#music4').click(function() {
  269.         src = 'http://stream1.addictradio.net/addictrock.mp3';
  270.         playAudio(src);
  271.     });
  272.    
  273.     $("#searchButtonConcert").click(function() {
  274.         // get the vars : artistName and cityName
  275.         artistName=$('#artistNameConcert').val();  
  276.         nameCity=$('#cityName').val();
  277.         // call the function to make an ajax request
  278.         searchConcerts(artistName, nameCity);
  279.     });
  280.    
  281.     $("#searchButtonTour").click(function() {
  282.  
  283.         // searchTour(nameArtist, nameTour);
  284.     });
  285.    
  286.     // implement a function to read a file from the sdcard
  287.    
  288. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement