rights to... (I mean: not "goods", not "exclusive rights", as long as original source wasn't destroyed or harmed in other way, it is close to fraud)
Anyway, try to record some "open sourced" media (creative commons).
Or make test recordings of local audio files.
Here is example of
.html
file that loops any
.wav
sound in browser source of OBS (you should Interact with it to select the media file and start looped playback):
HTML:
<!doctype html>
<html>
<head>
<title>Audio</title>
</head>
<body>
<input type="file" id="input">
<input type="button" id="control_button" value="STOP" onclick="play_it()" disabled="true">
<script type="text/javascript">
var play_button = document.getElementById("control_button");
var actx = new (AudioContext || webkitAudioContext)();
var audioData, srcNode; // global so we can access them from handlers
// Load some audio (CORS need to be allowed or we won't be able to decode the data)
//fetch(src, {mode: "cors"}).then(function(resp) {return resp.arrayBuffer()}).then(decode);
// Get local audio file
const reader = new FileReader();
const selectedFile = document.getElementById("input");
selectedFile.addEventListener("change", handleFiles, false);
function handleFiles() {
// Read the file now!
reader.readAsArrayBuffer(selectedFile.files[0]);
}
var buffer;
reader.addEventListener("loadend", filesReady, false);
function filesReady() {
// Load ended - fill the buffer
buffer = reader.result;
play_button.disabled = false;
decode(buffer);
}
// Decode the audio file, then start the show
function decode(buffer) {
actx.decodeAudioData(buffer, playLoop);
}
// Sets up a new source node as needed as stopping will render current invalid
function playLoop(abuffer) {
if (!audioData) {
audioData = abuffer; // create a reference for control buttons
}
srcNode = actx.createBufferSource(); // create audio source
srcNode.buffer = abuffer; // use decoded buffer
srcNode.connect(actx.destination); // create output
srcNode.loop = true; // takes care of perfect looping
srcNode.start(); // play...
}
// Playback control
function play_it() {
if (srcNode) {
srcNode.stop();
srcNode = null;
play_button.value = "PLAY";
} else {
actx.resume();
playLoop(audioData);
play_button.value = "STOP";
}
};
</script>
</body>
</html>
And if you will use special sound (where is no gaps and it ends where it starts) and play it back via this
.html file in OBS then you can test the behavior of the application. If in about 2 hours of recording of this test sample you unable to find oddities inside the recorded file then OBS developers or support volunteers wouldn't help you.
Attached "obs-test-localfile-browser-playback.7z", 7-zip archive, ~78,6 KiB to download, CRC of the archive MD5:8F07F65A1E138C8BC627FFE0561AD630
inside:
- "obs-test-localfile-seamless-looped-audio-playback.html" - file to be added into OBS Browser source to be able to playback the .wav file;
- "1000-250Hz-06a_48000sr_32bit_float_10sec.wav" - looped test audio (test signals of 1kHz and 250Hz) that should be played by OBS Browser source.