feat: persist stream quality in local storage
This commit is contained in:
parent
559893ed64
commit
aa9a2cf225
|
|
@ -30,6 +30,9 @@ function changeStreamQuality() {
|
||||||
const streamBaseUrl = document.getElementById('stream-base-url');
|
const streamBaseUrl = document.getElementById('stream-base-url');
|
||||||
const config = getStreamConfig(streamBaseUrl.value, selector.value);
|
const config = getStreamConfig(streamBaseUrl.value, selector.value);
|
||||||
|
|
||||||
|
// Save preference
|
||||||
|
localStorage.setItem('stream-quality', selector.value);
|
||||||
|
|
||||||
// Update UI elements
|
// Update UI elements
|
||||||
document.getElementById('stream-url').textContent = config.url;
|
document.getElementById('stream-url').textContent = config.url;
|
||||||
document.getElementById('stream-format').textContent = config.format;
|
document.getElementById('stream-format').textContent = config.format;
|
||||||
|
|
@ -79,6 +82,11 @@ window.addEventListener('DOMContentLoaded', function() {
|
||||||
// Set initial quality display to match the selected stream
|
// Set initial quality display to match the selected stream
|
||||||
const selector = document.getElementById('stream-quality');
|
const selector = document.getElementById('stream-quality');
|
||||||
const streamBaseUrl = document.getElementById('stream-base-url');
|
const streamBaseUrl = document.getElementById('stream-base-url');
|
||||||
|
const streamQuality = localStorage.getItem('stream-quality') || 'aac';
|
||||||
|
if (selector && selector.value !== streamQuality) {
|
||||||
|
selector.value = streamQuality;
|
||||||
|
selector.dispatchEvent(new Event('change'));
|
||||||
|
}
|
||||||
if (streamBaseUrl && selector) {
|
if (streamBaseUrl && selector) {
|
||||||
const config = getStreamConfig(streamBaseUrl.value, selector.value);
|
const config = getStreamConfig(streamBaseUrl.value, selector.value);
|
||||||
document.getElementById('stream-url').textContent = config.url;
|
document.getElementById('stream-url').textContent = config.url;
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,13 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||||
// Reduce buffer to minimize delay
|
// Reduce buffer to minimize delay
|
||||||
liveAudio.preload = 'none';
|
liveAudio.preload = 'none';
|
||||||
}
|
}
|
||||||
|
// Restore user quality preference
|
||||||
|
const selector = document.getElementById('live-stream-quality');
|
||||||
|
const streamQuality = localStorage.getItem('stream-quality') || 'aac';
|
||||||
|
if (selector && selector.value !== streamQuality) {
|
||||||
|
selector.value = streamQuality;
|
||||||
|
selector.dispatchEvent(new Event('change'));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function redirectWhenFrame () {
|
function redirectWhenFrame () {
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,13 @@
|
||||||
audioElement.addEventListener('error', function(e) {
|
audioElement.addEventListener('error', function(e) {
|
||||||
console.error('Audio error:', e);
|
console.error('Audio error:', e);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const selector = document.getElementById('stream-quality');
|
||||||
|
const streamQuality = localStorage.getItem('stream-quality') || 'aac';
|
||||||
|
if (selector && selector.value !== streamQuality) {
|
||||||
|
selector.value = streamQuality;
|
||||||
|
selector.dispatchEvent(new Event('change'));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// Stream quality configuration
|
// Stream quality configuration
|
||||||
|
|
@ -130,6 +137,9 @@
|
||||||
const selector = document.getElementById('stream-quality');
|
const selector = document.getElementById('stream-quality');
|
||||||
const streamBaseUrl = document.getElementById('stream-base-url').value;
|
const streamBaseUrl = document.getElementById('stream-base-url').value;
|
||||||
const config = getStreamConfig(streamBaseUrl, selector.value);
|
const config = getStreamConfig(streamBaseUrl, selector.value);
|
||||||
|
|
||||||
|
// Save preference
|
||||||
|
localStorage.setItem('stream-quality', selector.value);
|
||||||
|
|
||||||
const audioElement = document.getElementById('persistent-audio');
|
const audioElement = document.getElementById('persistent-audio');
|
||||||
const sourceElement = document.getElementById('audio-source');
|
const sourceElement = document.getElementById('audio-source');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue