FMUSER Wireless Video- und Audioübertragung einfacher!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
1. Die Designidee des h5 Players
Diese Funktionen sollten nach der Rekonstruktion enthalten sein: Unterstützung für On-Demand (nicht verschlüsseltes MP4) und Live-Broadcast (m3u8), kompatibel (angepasst) für mobile Endgeräte und automatische Auswahl (Verwendung von Flash oder h5) entsprechend der Plattform.
In Bezug auf Frameworks und Bibliotheken verwenden wir immer noch hauptsächlich das nej-Framework. Nej bietet eine Fülle von Methoden. Die Klassen, die der Außenwelt ausgesetzt sind, werden regelmäßig implementiert, da die meisten Front-End-Komponenten und Geschäftsprojekte von Bildungsprodukten regelmäßig verwendet werden, was sehr bequem zu verwenden ist. Darüber hinaus wird die flexible Lösung auf dem mobilen Endgerät ausgewählt, da die Webseitenanpassung von Bildungsprodukten mithilfe von flexibel vereinheitlicht wurde und die Behandlung von Gestenereignissen ausgewählt wird.
Um das Erweitern und Hinzufügen von Komponenten zu erleichtern, wird der Beobachtermodus verwendet. Der Beobachtermodus eignet sich sehr gut für die Verwendung in einem Projekt von der Größe eines Videoplayers und ist auch ein bewährter Entwurfsmodus. Ich habe direkt auf die ähnliche Implementierung in Flex verwiesen und sie erneut mit js geschrieben (natürlich habe ich sie sehr schnell geschrieben).
Wie in der obigen Abbildung gezeigt, implementieren die Komponentenbasisklasse und die Komponentencontainer-Singleton-Klasse das Beobachtermuster. Alle Komponenten werden von der Komponentenklasse geerbt. In der Komponenteninstanz können Methoden aufgerufen werden, um Benachrichtigungsobjekte für die Kommunikation zwischen Komponenten zu senden. Die Benachrichtigungsplanung befindet sich im componentContainer. Erreicht. Diese Komponenten sind in erforderliche Komponenten und optionale Komponenten unterteilt. Die erforderlichen Komponenten umfassen: Videoobjektkomponente (movieData), Videowiedergabekomponente (mainVideo), API-Komponente usw. Die optionalen Komponenten werden gemäß den Geschäftsanforderungen verschiedener Produkte entwickelt, die durch Anpassen der Konfiguration verschiedener Komponentenlisten entwickelt werden können die spezifischen Funktionen des Players, die auch in componentContainer implementiert sind. Html5VideoMedia ist eine Kapselung von HTMLVideoElement. Es wird nicht als Komponente verwendet, sondern bietet nur Videowiedergabefunktionen und definiert verwandte Ereignisse. Neben den Komponenten für die Videowiedergabe kann Html5VideoMedia auch eine einführende Werbekomponente sein.
In Bezug auf die Anpassung wird das flexible Schema zur Stilanpassung verwendet. Einige Komponenten sind komplexer, z. B. die Steuerleiste. Die Web- und Mobilfunktionen sind sehr unterschiedlich, und auch die Stile sind sehr unterschiedlich. Sie können in Betracht ziehen, verschiedene Komponenten auf verschiedenen Plattformen zu verwenden (control und controlMobile sind in der Abbildung zu sehen), und die Logik ist sehr klar. , Sie müssen nicht viel if und else schreiben, aber da es von mehr Komponenten abhängt, werden die js- und css-Dateien größer. Ich persönlich bin der Meinung, dass es zur Verbesserung der Wartbarkeit des Codes ratsam ist, einen Teil der Dateigröße zu opfern.
,
2. Einige Funktionen von hls Live-Übertragung
Beurteilung des Live-Sendestatus. Tatsächlich ist die Live-Übertragungsfunktion eng mit dem Geschäft verbunden. Der Live-Übertragungsstatus ist hier auch nur der Status des Unternehmens, z. B.: Nicht gestartet, kurz vor dem Start, Live-Übertragung, Live-Übertragung beendet usw. Unsere Produkte verwenden weiterhin Front-End-Abfragen, um den Status der Live-Übertragung zu aktualisieren. Eine Sache zu erwähnen ist, dass der hls-Stream das Endereignis nicht auslöst, so dass der Status der h5-Live-Übertragung tatsächlich vollständig durch Abfragen gesteuert wird.
Die Bestimmung des Durchflusses ist abnormal. Bei allgemeinen Netzwerkproblemen oder Quellproblemen können Sie die Fehlerereignisse des Video-Tags und des Quell-Tags überwachen. Beide Tags müssen überwacht werden. Die Fehlermeldung beim Auslösen des Fehlers ist jedoch manchmal keine Information, oder verschiedene Browser haben unterschiedliche Implementierungen. Ich habe festgestellt, dass das Attribut currentTime so geändert wurde, dass es zuvor gesucht wurde, und gelegentlich wird das Fehlerereignis ausgelöst, aber der Fehler besagt nur, dass es sich um einen Netzwerkfehler handelt. Ohne weitere Informationen war es wirklich schmerzhaft festzustellen, dass es sich nach dem Vergleich anderer Videos um ein Problem bei der Videotranscodierung handelte. Während der Wiedergabe eines Live-Streams können gelegentlich Streaming-Ausnahmen auftreten. Streaming-Ausnahmen werden im Allgemeinen angezeigt, wenn der Bildschirm einfriert und nicht unbedingt Fehlerereignisse auslöst. Ich beziehe mich auf den Plan des vorherigen Qingguo-Kollegen: Überprüfen Sie von Zeit zu Zeit currentTime. Wenn sich currentTime während dieses Zeitraums im Wiedergabestatus nicht ändert, ist es wahrscheinlich, dass der Stream abnormal ist, und laden Sie ihn dann aktiv neu.
,
3. Einige Probleme, die derzeit nicht gelöst werden können
Es gibt viele Probleme im Zusammenhang mit Videos auf ios, da das System zu viele Einschränkungen aufweist. Liste ein wenig:
1. Es kann immer nur ein Video oder Audio gleichzeitig abgespielt werden, und es ist nur ein Video- oder Audio-Tag zulässig. Es wird ein wenig mühsam sein, die einführende Werbefunktion auszuführen.
2. Wenn Sie Videos in Safari mit einer niedrigeren iOS-Version abspielen, wird der Vollbildmodus erzwungen, und iOS 10 kann Inline-Wiedergabe verwenden. Sie können WeChat und einige angepasste Webkits Webkit-Spieleinline hinzufügen.
3. Ohne menschliche Bedienung ist es nicht möglich, die Seite aufzurufen, um das Video automatisch abzuspielen
4. In ios kann js nicht zur Steuerung der Videolautstärke verwendet werden, sondern nur über physische Tasten. In ios können Sie die Lautstärkeregelung direkt ausblenden. . .
5. Es gibt auch das Problem, Screenshots zu machen, aber es gibt keine Forschung, wenn es nicht im Produkt verwendet wird.
Es gibt auch viele Probleme unter Android, hauptsächlich weil es zu viele Android-Versionen, zu viele Modelle und alle Aspekte ungleichmäßig sind. Liste ein wenig:
1. Einige Android-Systeme ersetzen direkt das Video-Tag und verwenden den System-Player zum Abspielen, wie es bei inländischen Mobiltelefonen üblich ist
2. Das Erkennungsergebnis der canPlayType-Methode stimmt nicht mit der tatsächlichen Situation überein. Dieses Problem ist während des Entwicklungsprozesses aufgetreten. Beispielsweise wurde festgestellt, dass die m3u8-Wiedergabe auf einem Asus-Mobiltelefon nicht unterstützt wird, aber tatsächlich abgespielt werden kann. Ich wollte diese Einschränkung ursprünglich loslassen, fand aber später heraus, dass die erzwungene Wiedergabe in der Webansicht der Cloud Classroom-App zum Absturz der App führen kann, sodass die Erkennung am Ende hinzugefügt wird. .
3. Androiden, die die m3u8-Wiedergabe nicht unterstützen, sind im Allgemeinen in der Nähe von android4.0 und darunter
|
Geben Sie eine E-Mail-Adresse ein, um eine Überraschung zu erhalten
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanisch
ar.fmuser.org -> Arabisch
hy.fmuser.org -> Armenisch
az.fmuser.org -> Aserbaidschanisch
eu.fmuser.org -> Baskisch
be.fmuser.org -> Weißrussisch
bg.fmuser.org -> Bulgarisch
ca.fmuser.org -> Katalanisch
zh-CN.fmuser.org -> Chinesisch (vereinfacht)
zh-TW.fmuser.org -> Chinesisch (traditionell)
hr.fmuser.org -> Kroatisch
cs.fmuser.org -> Tschechisch
da.fmuser.org -> Dänisch
nl.fmuser.org -> Niederländisch
et.fmuser.org -> Estnisch
tl.fmuser.org -> Philippinisch
fi.fmuser.org -> Finnisch
fr.fmuser.org -> Französisch
gl.fmuser.org -> Galizisch
ka.fmuser.org -> Georgisch
de.fmuser.org -> Deutsch
el.fmuser.org -> Griechisch
ht.fmuser.org -> Haitianisches Kreol
iw.fmuser.org -> Hebräisch
hi.fmuser.org -> Hindi
hu.fmuser.org -> Ungarisch
is.fmuser.org -> Isländisch
id.fmuser.org -> Indonesisch
ga.fmuser.org -> Irisch
it.fmuser.org -> Italienisch
ja.fmuser.org -> Japanisch
ko.fmuser.org -> Koreanisch
lv.fmuser.org -> Lettisch
lt.fmuser.org -> Litauisch
mk.fmuser.org -> Mazedonisch
ms.fmuser.org -> Malaiisch
mt.fmuser.org -> Malteser
no.fmuser.org -> Norwegisch
fa.fmuser.org -> Persisch
pl.fmuser.org -> Polnisch
pt.fmuser.org -> Portugiesisch
ro.fmuser.org -> Rumänisch
ru.fmuser.org -> Russisch
sr.fmuser.org -> Serbisch
sk.fmuser.org -> Slowakisch
sl.fmuser.org -> Slowenisch
es.fmuser.org -> Spanisch
sw.fmuser.org -> Suaheli
sv.fmuser.org -> Schwedisch
th.fmuser.org -> Thai
tr.fmuser.org -> Türkisch
uk.fmuser.org -> Ukrainisch
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamesisch
cy.fmuser.org -> Walisisch
yi.fmuser.org -> Jiddisch
FMUSER Wireless Video- und Audioübertragung einfacher!
Kontakt
Adresse
Nr.305 Zimmer HuiLan Gebäude Nr.273 Huanpu Road Guangzhou China 510620
Kategorien
Newsletter