本文目錄一覽:
- 1、基於webrtc以及nodejs的P2P實時視頻demo
- 2、webrtc.js 是什麼
- 3、vediojs嵌入到web項目中的問題
- 4、webview 與js怎樣實現數據交互
- 5、求Java Web視頻,謝謝
基於webrtc以及nodejs的P2P實時視頻demo
到 下載最新版nodejs。【點擊免費試用,0成本啟動】
這個是一個在nodejs下實現webrtc服務端的完整示例。下載zip文件,解壓。回到“Node.js command prompt”,使用CD命令切到解壓後的目錄,輸入命令:npm install這個命令會自動安裝demo所需nodejs插件。完畢後,查看 ..\site\server.js 裡面的端口號,若端口已被佔用,修改成可用的端口。同樣在“Node.js command prompt”,切到“server.js”的目錄,輸入命令:node server.jschrome 或 firefox 瀏覽器,訪問 127.0.0.1:8080 就看到示例了。
想要了解更多關於webrtc的相關信息,推薦諮詢ZEGO即構科技。公司自成立伊始,就專註自研音視頻引擎,在音頻前處理、網絡自適應和跨平台兼容性等方面,達到國際一流水平,同時充分利用基礎雲服務商的能力,構建了MSDN海量有序自學習數據網絡,服務覆蓋全球,涵蓋上百個音視頻互動業務場景。
webrtc.js 是什麼
WebRTC是一個由Google發起的實時通訊解決方案,其中包含視頻音頻採集,編解碼,數據傳輸,音視頻展示等功能,可以通過技術快速地構建出一個音視頻通訊應用。 雖然其名為WebRTC,但是實際上它不光支持Web之間的音視頻通訊,還支持Android以及IOS端,此外由於該項目是開源的,我們也可以通過編譯C++代碼,從而達到全平台的互通。【點擊免費試用,0成本啟動】
對於開發人員來說,WebRTC就是一組API。經常有人說WebRTC是JavaScript API的媒體引擎,準確說WebRTC是一個帶有JavaScript API的媒體引擎。但這並不是全部。WebRTC並不止僅限於JavaScript。有很多系統是用C,Java,Python,C#,Erlang,Dart,甚至PHP所寫。在移動端,原生軟件在其客戶端WebRTC SDK實現中使用的是Objective-C,Swift或者Java。但是最主要的是JavaScript。
想要了解更多關於webrtc的相關信息,推薦諮詢ZEGO即構科技。即構科技有限公司是為開發者提供高品質實時音視頻、實時語音、互動直播和IM即時通訊等服務的公司。核心團隊成員均來自QQ,有超過20年的互聯網和音視頻技術開發經驗,以及億量級海內外用戶運營服務能力。專註於實時音視頻領域,致力提供全世界範圍內最清晰穩定實時的語音視頻服務,已服務4000+企業,適用於遊戲、娛樂社交、在線教育、在線醫療、遠程會議、智能硬件等多種用戶場景。
vediojs嵌入到web項目中的問題
方法/步驟
1
在網頁中使用HTML5視頻嵌入技術最大的優點就是不需要任何第三方插件(比如 Adobe公司的Flash)就能播放。
不需要第三方插件帶來的好處就是資源佔用更少,想想如果一個網站上嵌入好多flash那該有多慢啊,還好有HTML5視頻嵌入技術可以完好地解決這個問題。
那麼它的配置複雜嗎?很簡單!
2
首先下載video.js,百度一下就能找到。
3
這個是下載後的目錄。
4
先把要用到的js\css\swf都加載到html頁面上。
如:
link href=”video-js/video-js.css” rel=”stylesheet” type=”text/css”
script src=”video-js/video.js”/script
script
videojs.options.flash.swf = “video-js/video-js.swf”;
/script
5
加入下面的代碼:
video id=”my_video_1″ class=”video-js vjs-default-skin” controls preload=”auto”width=”640″height=”480″poster=”video-js/my_video_poster.png” data-setup=”{}”
source src=”Wildlife.mp4″ type=’video/mp4′
/video
只要記住:修改width=”640″ height=”480″來改變視頻顯示大小,修改src=”Wildlife.mp4″來改變要顯示的視頻。
然後打開html文件查看效果吧,它有暫停、音量控制、全屏等功能,還有好多其他功能,比如字幕等,這個以後再寫。
全屏後的效果:
下面看看各個瀏覽器的效果:
Firefox:
Chrome:
360:
IE:
可以看到,IE播放是有問題的。解決IE不能播放的問題很簡單。
加入:
script
if (navigator.userAgent.indexOf(‘MSIE’) = 0){
document.getElementById(“videoDiv”).innerHTML=’embed src=”Wildlife.mp4″ autostart=”true” loop=”true” width=”640″ height=”480″ ‘;
}
/script
意思是:如果是IE瀏覽器就將視頻替換為傳統的以FLASH形式播放。
再看看效果,呵呵,好了。
下面附全部代碼截圖,純代碼發上來不顯示,沒辦法了。
webview 與js怎樣實現數據交互
對於android初學者應該都了解webView這個組件。之前我也是對其進行了一些簡單的了解,但是在一個項目中不得不用webview的時候,發現了webview的強大之處,今天就分享一下使用webview的一些經驗。
1、首先了解一下webview。
webview介紹的原文如下:A View that displays web pages. This class is the basis upon which you can roll your own web browser or simply display some online content within your Activity. It uses the WebKit rendering engine to display web pages and includes methods to navigate forward and backward through a history, zoom in and out, perform text searches and more.
從上面你應該了解到了基本功能,也就是顯示網頁。之所以我說webview功能強大是因為它和js的交互非常方便,很簡單就可以實現。
2、webview能做什麼?
①webView可以利用html做界面布局,雖然目前還比較少人這麼使用,不過我相信當一些客戶端需要複雜的圖文(圖文都是動態生成)混排的時候它肯定是個不錯的選擇。
②直接顯示網頁,這功能當然也是它最基本的功能。
③和js交互。(如果你的js基礎比java基礎好的話那麼採用這種方式做一些複雜的處理是個不錯的選擇)。
3、如何使用webview?
這裡直接用一個svn上取下的demo,先上demo後講解。demo的結構圖如下:
WebViewDemo.java
package com.google.android.webviewdemo;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.webkit.JsResult;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
/**
* Demonstrates how to embed a WebView in your activity. Also demonstrates how
* to have javascript in the WebView call into the activity, and how the activity
* can invoke javascript.
* p
* In this example, clicking on the android in the WebView will result in a call into
* the activities code in {@link DemoJavaScriptInterface#clickOnAndroid()}. This code
* will turn around and invoke javascript using the {@link WebView#loadUrl(String)}
* method.
* p
* Obviously all of this could have been accomplished without calling into the activity
* and then back into javascript, but this code is intended to show how to set up the
* code paths for this sort of communication.
*
*/
public class WebViewDemo extends Activity {
private static final String LOG_TAG = “WebViewDemo”;
private WebView mWebView;
private Handler mHandler = new Handler();
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(false);
mWebView.setWebChromeClient(new MyWebChromeClient());
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), “demo”);
mWebView.loadUrl(“”);
}
final class DemoJavaScriptInterface {
DemoJavaScriptInterface() {
}
/**
* This is not called on the UI thread. Post a runnable to invoke
* loadUrl on the UI thread.
*/
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl(“javascript:wave()”);
}
});
}
}
/**
* Provides a hook for calling “alert” from javascript. Useful for
* debugging your javascript.
*/
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d(LOG_TAG, message);
result.confirm();
return true;
}
}
}
demo.html
html
script language=”javascript”
/* This function is invoked by the activity */
function wave() {
alert(“1”);
document.getElementById(“droid”).src=”android_waving.png”;
alert(“2”);
}
/script
body
!– Calls into the javascript interface for the activity —
a onClick=”window.demo.clickOnAndroid()”div style=”width:80px;
margin:0px auto;
padding:10px;
text-align:center;
border:2px solid #202020;”
img id=”droid” src=”android_normal.png”/br
Click me!
/div/a
/body
/html
main.xml
LinearLayout xmlns:android=””
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/intro”
android:padding=”4dip”
android:textSize=”16sp”
/
WebView
android:id=”@+id/webview”
android:layout_width=”fill_parent”
android:layout_height=”0dip”
android:layout_weight=”1″
/
/LinearLayout
4、如何交互?
①android如何調用js。
調用 形式:
mWebView.loadUrl(“javascript:wave()”);
其中wave()是js中的一個方法,當然你可以把這個方法改成其他的方法,也就是android調用其他的方法。
②js如何調用android。
調用形式:
a onClick=”window.demo.clickOnAndroid()”
代碼中的“demo”是在android中指定的調用名稱,即
mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), “demo”);
代碼中的clickOnAndroid()是“demo”對應的對象:new DemoJavaScriptInterface() 中的一個方法。
③雙向交互。
當然是把前面的兩種方式組合一下就可以了。
5、講解demo。
現在你一定了解了android和js的交互了。是時候分析一些demo了,根據上面講的你也應該比較清楚了。具體交互流程如下:
①點擊圖片,則在js端直接調用android上的方法clickOnAndroid();
②clickOnAndroid()方法(利用線程)調用js的方法。
③被②調用的js直接控制html。
個人總結:利用webView的這種方式在有些時候UI布局就可以轉成相應的html代碼編寫了,而html布局樣式之類有DW這樣強大的工具,而且網上很多源碼,很多代碼片。在UI和視覺效果上就會節省很多時間,重複發明輪子沒有任何意義。
求Java Web視頻,謝謝
Javaweb的教程包含很多內容,像是web前端HTML+CSS+JS就是重點學習內容,2020最新Javaweb視頻教程-Javaweb從入門到精通,這套視頻教程內含網絡通信、HTML、CSS、JavaScript、MySQL、JDBC、JSP、Servlet等技術,Javaweb從入門到精通全套教程一站搞定!
還有更多Javaweb好Javaweb項目的視頻教程,都可以在我們的官網用百度雲盤下載!
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199430.html