PageSourceSearch

https://www.cbnrecife.com/wp-content/plugins/webtonative/webtonative-radio-player/js/player.js?ver=1.0.10

js cbnrecife.com collected 2026-10-02 11:25:15 UTC 2,757 bytes, 85 lines download raw bytes

1(function ($) {
2  const wtnPlayerWrapper = $('#wtn-player');
3  const isAndroidApp = window.WTN && window.WTN.isAndroidApp;
4  if (!isAndroidApp) return;
5
6  wtnPlayerWrapper.removeClass('d-none');
7
8  let tracks = wtnPlayerData.tracks || [];
9  let currentTrackIndex = 0;
10  // let audio = new Audio();
11  let isPlaying = false;
12
13  function loadTrack(index) {
14    let track = tracks[index];
15    if (!track) return;
16
17    $('#track-title').text(track.name || 'Unknown Track');
18    $('#track-image').attr('src', track.image || '');
19    // audio.src = track.url || '';
20
21    // Disable/Enable Prev and Next buttons based on track availability
22    $('#wtn-prev')
23      .prop('disabled', index === 0)
24      .toggle(tracks.length > 1);
25    $('#wtn-next')
26      .prop('disabled', index === tracks.length - 1)
27      .toggle(tracks.length > 1);
28  }
29
30  // Play/Pause Button
31  $('#wtn-play-pause').on('click', function () {
32    // alert('Play/Pause button clicked => ' + audio.paused);
33    if (!isPlaying) {
34      // audio.play();
35      window?.WTN?.MediaPlayer?.playMedia({ url: tracks[currentTrackIndex]?.url, imageUrl: tracks[currentTrackIndex]?.image });
36      $(this).text('⏸');
37      isPlaying = true;
38      // alert('Audio is paused, playing now');
39    } else {
40      // audio.pause();
41      window?.WTN?.MediaPlayer?.pauseMedia();
42      $(this).text('▶');
43      isPlaying = false;
44      // alert('Audio is playing, pausing now');
45    }
46  });
47
48  // Previous Button
49  $('#wtn-prev').on('click', function () {
50    if (currentTrackIndex > 0) {
51      window?.WTN?.MediaPlayer?.stopMedia();
52      currentTrackIndex--;
53      loadTrack(currentTrackIndex);
54      // audio.play();
55      window?.WTN?.MediaPlayer?.playMedia({ url: tracks[currentTrackIndex]?.url, imageUrl: tracks[currentTrackIndex]?.image });
56      $('#wtn-play-pause').text('⏸'); // Update button state
57      isPlaying = true;
58      // alert('Prev track loaded =>' + tracks[currentTrackIndex]?.url);
59    }
60  });
61
62  // Next Button
63  $('#wtn-next').on('click', function () {
64    if (currentTrackIndex < tracks.length - 1) {
65      window?.WTN?.MediaPlayer?.stopMedia();
66      currentTrackIndex++;
67      loadTrack(currentTrackIndex);
68      // audio.play();
69      window?.WTN?.MediaPlayer?.playMedia({ url: tracks[currentTrackIndex]?.url, imageUrl: tracks[currentTrackIndex]?.image });
70      $('#wtn-play-pause').text('⏸'); // Update button state
71      isPlaying = true;
72      // alert('Next track loaded =>' + tracks[currentTrackIndex]?.url);
73    }
74  });
75
76  // Hide Prev/Next buttons if only one track is present
77  if (tracks.length === 1) {
78    $('#wtn-prev, #wtn-next').hide();
79  }
80
81  // Load the initial track without autoplay
82  if (tracks.length > 0) {
83    loadTrack(currentTrackIndex);
84  }
85})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.