Html - CSS - XML - JavaScript - Ajax
Javascript Button İle Playerda Ki Videoyu Değiştirmek
Javascript Button İle Playerda Ki Videoyu Değiştirmek
-
Merhaba arkadaşlar, Kameraları HTML5 ile izlediğim şöyle bir kodum var:
<div> <input type="hidden" value="120" id="buffer_duration"> <input type="hidden" id="stream_url" value="rtsp://10.10.10.1:554"> <button id="set_new_url">Kamera 1</button> <input type="hidden" id="stream_url" value="rtsp://10.10.10.2:554"> <button id="set_new_url">Kamera 2</button> <input type="hidden" id="stream_url" value="rtsp://10.10.10.3:554"> <button id="set_new_url">Kamera 3</button> <input type="hidden" id="stream_url" value="rtsp://10.10.10.4:554"> <button id="set_new_url">Kamera 4</button> </div> <div id="test_video"></div> <div> <script> var flowPlayer = flowplayer("#test_video", { autoplay : true, splash: true, ratio: 9 / 16, streamedian_player_config:{ socket:"ws://localhost:8080/ws/", bufferDuration: 120 }, clip: { title: "...", }, embed: false }).on("ready", function (e, api, video) { document.querySelector("#fp-test_video .fp-title").innerHTML = api.engine.engineName + " engine playing " + video.type; }); var html5Player = document.getElementById("test_video"); var urlButton = document.getElementById("set_new_url"); var urlEdit = document.getElementById("stream_url"); var bufferRange = document.getElementById("buffer_duration"); var bufferValue = document.getElementById("buffer_value"); bufferRange.addEventListener('input', function(){ var player = window.StreamedianPlayer; if(player){ var iValue1 = parseInt(this.value, 10); player.bufferDuration = iValue; flowPlayer.conf.streamedian_player_config.bufferDuration = iValue1; bufferValue.innerHTML = this.value + "sec."; } }); urlButton.onclick = ()=>{ flowPlayer.unload(); var newSource = urlEdit.value; var sources = [{ src : newSource, type : "application/x-rtsp" }]; flowPlayer.load(sources); flowPlayer.play(); }; </script> </div>
Kamera 1' e tıkladığımda 1. kamera geliyor ama 2. kamera için javascript ile kontrol etmem gerekiyor. Nasıl yapabilirim? Yardımcı olabilir misiniz?
PLaXToR tarafından 06/Kas/19 13:59 tarihinde düzenlenmiştir -
hocam neyı kontrol etmen gerektıgını anlamadım.
biraz daha acıklıyabılırmısın
-
Hocam merhaba,
4 tane buton var daha da ekleyeceğim. Her butonun bir
stream_url si var bu da gidip altta var
var urlEdit = document.getElementById("stream_url");
Bu kısma değer atayıp. Linkteki source u açıyor. O butonlara tıkladığımda nasıl tetiklettireceğim yani videoyu nasıl açacağım. Javascript ile form ile değil.
PLaXToR tarafından 06/Kas/19 15:18 tarihinde düzenlenmiştir -
yapmak istedigin sey cok basit ama duzgun bir temelin olmadan kosmaya calisiyorsun
yardimci olan cikmazsa pm at ilgileneyim
-
Bu zaten temel bir soru. Ben javascriptci değilim güzel arkadaşım.
Form ile yapabilir değere göre php ile ilgili değeri yazar geçerdim.
Temel birşey olduğu için öğrenmek istedim. Koşmak olarak gelmesin. Koştuğumuz alanlar var çok şükür.
Yardımcı olacaksan burdan ol herkes yararlansın. Neden pm atayım.
PLaXToR tarafından 06/Kas/19 16:30 tarihinde düzenlenmiştir -
Normal şartlar altında verdiğin kodun çalışmaması gerekiyor. Çünkü birden fazla steam_url ve set_new_url id'sine sahip element var. Çalışıyorsa quirks mod altında çalışıyor olmalı.
https://jsfiddle.net/bpqz2ngf/
Senin kodunu değiştirerek buraya ekledim. Yaptığım işlemler bize göre ilk div'in içindeki elementleri düzeltmek, işlemleri kolaylaştırmak için jquery kütüphanesini eklemek, set_new_url buttonlarının selectorunu jquery selector ile yapmak, değişken adını urlButtons olarak değiştirmek ve son olarak urlButtons class'ına sahip her elemente click eventini eklemek. Yorum satılarını kaldırıp kendi sisteminde deneyebilirsin. Fakat:
Kodların kaynağına ulaşıp değiştirebiliyorsan ne ala. Kendine göre düzenle ilgili dosya içeriğini değiştir ve devam et.
Eğer websayfasına enjeksiyon yapman gerekiyorsa userscripts dediğimiz işlem gerekiyor. Tampermoney şimdilerde destek kalmadı galiba tampermonkey gibi eklentiler gerekiyor. İnternetten kontrol etmelisin. Yapacağın işlemler benim üstte anlattıklarımın enjeksiyonu şekilde olacak fakat o da biraz kendince ayrı bir konu.
Ayrıca millete çemkirme.
-
Butona aynı id yi mantığı aktarabilmek ve belki overload ettirebilmeyi denemek için verdim.
Jquery kütüphanesi ekli. Headerları buraya koyduğum koda eklemedim.
İlgin için teşekkürler yaptığın değişiklikleri inceledim ama yine olmadı. Benim kod ilk buton itibari ile çalışıyor 2. buton üzerine yazmıyordu seninki komple çalışmıyor başka birşey var sanırım.
Ayrıca milleti çemkirtmeyin :)
-
Bana özelden gönderdiğin url'ye baktım. Yanlış yazmışsında o yüzden çalışmıyor. 177'inci satırdaki kodu eski kodun gibi bırakmışsın.
urlButton_1.onclick = ()=>{
değil
urlButton_1.on('click', function() {
olmalı. Tabi sadece bunu yapıp çalıştırırsan bir syntax hatası alırsın. Bakalım onu çözebilecek misin? Çözersen lütfen konuya yaz. :)
-
PLaXToR bunu yazdı
Bu zaten temel bir soru. Ben javascriptci değilim güzel arkadaşım.
Form ile yapabilir değere göre php ile ilgili değeri yazar geçerdim.
Temel birşey olduğu için öğrenmek istedim. Koşmak olarak gelmesin. Koştuğumuz alanlar var çok şükür.
Yardımcı olacaksan burdan ol herkes yararlansın. Neden pm atayım.
Gocunacağına pm atsan çözerdik derdini. Başkasının çözümü görmesi gerekmiyor, temel bilgilerle üstesinden gelinebilecek bir şey olduğunu bilmeleri yeterli. Ki o mesajı da özellikle sana değil, merak edip de okuyanlara gıcıklık olsun, öğrenmek isteyen aklını zorlayıp araştırsın diye yazdım. Araştırmadan sadece derli toplu kod okuyarak öğrenilmez çünkü. Yineleyeyim, bunu da seni kast ederek yazmıyorum yanlış anlama. Ana dalın bu olmayabilir, sonuç odaklı açmış olabilirsin konunu, bu beni ilgilendirmez. Ne diyeyim, umarım halletmişsindir. Pm atmamak senin kararın :)
-
PcK0 bunu yazdı
Bana özelden gönderdiğin url'ye baktım. Yanlış yazmışsında o yüzden çalışmıyor. 177'inci satırdaki kodu eski kodun gibi bırakmışsın.
urlButton_1.onclick = ()=>{
değil
urlButton_1.on('click', function() {
olmalı. Tabi sadece bunu yapıp çalıştırırsan bir syntax hatası alırsın. Bakalım onu çözebilecek misin? Çözersen lütfen konuya yaz. :)
urlButton_1.on('click', function(){ flowPlayer_1.unload(); var newSource_1 = $(this).data("ip"); var sources_1 = [{ src : newSource_1, type : "application/x-rtsp" }]; flowPlayer_1.load(sources_1); flowPlayer_1.play(); });
Çalışıyor syntax sorunu giderilmiş hali ok?
Teşekkürler.