當前位置:首頁 » 安卓系統 » androidwebview聲音

androidwebview聲音

發布時間: 2022-08-10 22:31:54

『壹』 如何讓安卓內嵌WebView調節音量

在開發瀏覽器的過程中,發現打開視頻的時候,無法調音量,最後發現是keyCode == KeyEvent.KEYCODE_BACK裡面的問題。
如果return true,那麼就結束了事件,相當於屏蔽了音量鍵。但是不return true,就要加以判斷是否是多次按下
webView播放視頻(html5 video) 手機側面按鍵無法調節音量大小,但是頁面上的音量控制條可以拖動調節,是不是需要webview開啟某個屬性才支持啊

『貳』 Android webview音量鍵

va]view plain

publicvoidonBackPressed(){

if(mWebView.canGoBack()&&goBackflag){

Print.PrintSys("goback-----"+mWebView.canGoBack());

mWebView.goBack();

}else

this.finish();


『叄』 如何用Android webview播放HTML5 video標簽

如何播放:
近來工作要用Android的webview播放HTML5 video標簽。做了下試驗,用Android自帶的Browser可以裝載含有video標簽的HTML5頁面,而且能正常播放,但同樣的網頁用webview來載入就沒法播放HTML5中的video。
在網上查了許多資料,所查的資料可以參考我轉載那些文章,經過無數次測試,終於成功了,做法如下:
第一步當然是要先有個Webivew對象,是寫在main.xml也好,或者動態創建也罷,總之有了一個Webview對象即可,假設其名為m_webview,然後設置一些屬性:
m_webview.getSettings().setjavaScriptEnabled(true);
m_webview.setWebChromeClient(m_chromeClient);
本來以為要設置m_webview.getSettings().setPluginsEnabled(true);但後來發現去掉後也不影響效果。上面主要的是setWebChromeClient這個,要設置一個WebChromeClient對象給webview,WebChromeClient對象這樣創建:
private WebChromeClient m_chromeClient = new WebChromeClient(){
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// TODO Auto-generated method stub
}
};

『肆』 虛擬機webview載入網路視頻只有聲音沒有圖像

檢查一下webView的設置及許可權是否有增加,

使用webview載入網頁視頻的方法:
設置webView
webView = (WebView) view.findViewById(R.id.webView);
// 設置WebView屬性,能夠執行Javascript腳本
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.setVisibility(View.VISIBLE);
webView.getSettings().setUseWideViewPort(true);
webView.loadUrl("視頻地址");

2.需要在AndroidManifest.xml文件中聲明需要使用HardwareAccelerate, 可以細化到Activity級別,如果不需要的View可以聲明不要用加速,但是需要在代碼中做,具體如下:
1.如果要聲明整個應用都要加速:< application ... android:hardwareAccelerated ="true">
2. 如果要在Activity中聲明,則:<activity ... android:hardwareAccelerated="true" >, 還可以更細化到Window, getWindow.setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
3.如果application或者activity都申明了要硬體加速,但是為了某些原因(比如省電?),一些View不需要硬體加速的話

3. 上面的操作做了,就可以使用video標簽播放視屏了,如果要支持全屏,還需給webview一個WebChromeClient對象,這個WebChromeClient對象需要實現onShowCustomView和onHideCustomView方法

『伍』 android webview怎麼載入聲音

LZ你好 之所以不能返回是因為返回鍵的時候系統當做整個activity,而不是webview的歷史頁面 也就是說你必須消費掉back事件。 你可以覆蓋activity中的方法 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } 這樣就行,另外再提醒一點,如果在webview中點連接,默認的是會調用系統的瀏覽器 所以還需 mWebView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); 這樣就能保證在webview中跳轉

『陸』 如何調試Android和IOS的webview

WebView是一個新的控制項類型,允許你在Cocos2d-x中顯示網頁內容。目前只支持iOS和Android平台,未來可能會添加更多平台。
這個類在cocos2d::ui::experimental命名空間下。
正如我們之前聲明的experimental命名空間,這個命名空間並不意味著這個控制項是完整的,只是缺少全平台支持。在游戲中隨意使用WebView控制項。
在WebView中顯示Google的網址,可以很簡單的實現:
_webView = cocos2d::experimental::ui::WebView::create();
_webView->setPosition(winSize/2);
_webView->setContentSize(winSize * 0.5);
_webView->loadUrl("http);
_webView->setScalesPageToFit(true);

setscalesPageToFit方法將調整WebView內容以適應所設置內容的大小。

我們還可以設置WebView的回調:
//we should check the validation of the URL and decide whether to continue or not
_webView->shouldStartLoading = CC_CALLBACK_2(WebViewTest::onWebViewShouldStartLoading, this);
//called when web page is finish loading
_webView->didFinishLoading = CC_CALLBACK_2(WebViewTest::onWebViewDidFinishLoading, this);
//called when web page is fail loading
_webView->didFailLoading = CC_CALLBACK_2(WebViewTest::onWebViewDidFailLoading, this);

『柒』 Android WebView 在開發過程中有哪些坑

WebView:
(一)、介紹:
android提供了一個內置瀏覽器,該瀏覽器可以查看網站,查看郵件,播放視頻。要使用該內置瀏覽器,要通過WebView組件實現。webView組件式專門用來瀏覽網頁的。
類結構:
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.AbsoluteLayout
↳ android.webkit.WebView

(二)、webview組件常用方法:
loadUrl()
loadData()
loadDataWithBaseURL()
capturePicture()
goBack()
goForward()
stopLoading()
reload()
(三)、WebView組件顯示url頁面的內容:
1、基本代碼:
webView_main = (WebView) findViewById(R.id.webView_main);
webView_main.loadUrl("http://www.qq.com");

(四)、WebView組件載入html代碼:
1、基本代碼:
webView_main = (WebView) findViewById(R.id.webView_main);
// webView_main.loadData(data, "text/html","utf-8");//這個方法中雖然設置了字元集,但是運行效果中發現依然中文會顯示亂碼。為了解決這個問題,建議使用loadDataWithBaseURL()方法。
webView_main.loadDataWithBaseURL(null, data, "text/html", "utf-8", null);

【備註:】MIME【了解】
概念:MIME意為多功能Internet郵件擴展,它設計的最初目的是為了在發送 電子郵件時附加多媒體數據,讓郵件客戶程序能根據其類型進行處理。然而當它被HTTP協議支持之後,它的意義就更為顯著了。它使得HTTP傳輸的不僅是普通的文本,而變得豐富多彩。
每個MIME類型由兩部分組成,前面是數據的大類別,例如聲音audio、圖象image等,後面定義具體的種類。
常見的MIME類型(通用型):
超文本標記語言文本 .html text/html
xml文檔 .xml text/xml
XHTML文檔 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文檔 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG圖像 .png image/png
GIF圖形 .gif image/gif
JPEG圖形 .jpeg,.jpg image/jpeg
au聲音文件 .au audio/basic
MIDI音樂文件 mid,.midi audio/midi,audio/x-midi
RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
任意的二進制數據 application/octet-stream
2、如果載入的html代碼中包含javascript語言,會如何呢?

運行後發現,所有的javascript都不會執行。因為WebView 在默認情況下不支持javascript。如何讓執行javascript呢?
讓WebView支持javascript的兩個步驟:
使用 WebView 組件的WebSettings對象的setJavaScriptEnabled()方法。這種做法是讓 WebView 能支持絕大多數的javascript語言。但是依然不支持alert等警告對話框語句。
使用 WebView 組件的setWebChromeClient()方法。這種做法是讓 WebView 也支持顯示alert等警告對話框。
基本代碼:

webView_main.getSettings().setJavaScriptEnabled(true);// 支持運行javascript

webView_main.setWebChromeClient(new WebChromeClient());// 支持運行特殊的javascript(例如:alert())

webView_main.setWebViewClient(new WebViewClient());// 當點擊超鏈地址後不會新打開瀏覽器來訪問,而是始終在本app中瀏覽頁面

3、如果html中包含有超級鏈接地址,WebView能順利執行嗎?
經過運行後發現,WebView中的超鏈地址在點擊後,會跳出該應用程序,而彈出新的瀏覽器去訪問該網頁。
如果解決呢?調用webview對象的setWebViewClient()方法即可解決。
webView_main.setWebViewClient(new WebViewClient());
(五)、用WebView實現「網頁版天氣預告」

【備註:】調用頁面地址:http://m.weather.com.cn/m/pn12/weather.htm?id=101010100T
webView_main = (WebView) findViewById(R.id.webView_main);
webView_main.getSettings().setJavaScriptEnabled(true);
webView_main.setWebChromeClient(new WebChromeClient());
webView_main.setWebViewClient(new WebViewClient());
webView_main.loadUrl("http://m.weather.com.cn/m/pn12/weather.htm?id=101010100T");
(六)、製作簡單的網頁瀏覽器:
1、核心代碼:
publicclass MainActivity extends Activity {
privateEditText editText_main_url;
privateWebView webView_main;
private String url = "";
@Override
protectedvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText_main_url = (EditText) findViewById(R.id.editText_main_url);
webView_main = (WebView) findViewById(R.id.webView_main);
// 讓webview對象支持解析javascript語句
webView_main.getSettings().setJavaScriptEnabled(true);
// 讓webview對象支持解析alert()等特殊的javascript語句
webView_main.setWebChromeClient(new WebChromeClient());
// 如果不使用該句代碼,在點擊超鏈地址後,會跳出程序,而彈出瀏覽器訪問網頁。
webView_main.setWebViewClient(new WebViewClient());
}
publicvoid clickButton(View view) {
switch (view.getId()) {
// 瀏覽器中後退鍵監聽
caseR.id.button_main_goback:
webView_main.goBack();
break;
// 瀏覽器前進鍵監聽
caseR.id.button_main_goforward:
webView_main.goForward();
break;
// 當輸入網址後,點擊該按鈕,可以執行訪問
caseR.id.button_main_submit:
url = editText_main_url.getText().toString();
if ((url == null) || url.equals("")) {
Toast.makeText(MainActivity.this, "請輸入url地址!", Toast.LENGTH_LONG).show();
} else {
if (url.indexOf("http://") != 0) {
url = "http://" + url;
}
webView_main.loadUrl(url);
}
break;
// 瀏覽器停止載入鍵監聽
caseR.id.button_main_stop:
webView_main.stopLoading();
break;
// 瀏覽器刷新鍵監聽
default:
break;
}
}
}

『捌』 如何學習Android5.0 下 新的 webview 的實現

Android webview使用詳解
1. 打開網頁時不調用系統瀏覽器, 而是在本WebView中顯示:

mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});

2. 通過java代碼調用javascript

WebSettings webSettings = mWebView .getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
webview.loadUrl("javascript:wave()");
}
});
}
}, "demo");

3. 按返回鍵時, 不退出程序而是返回上一瀏覽頁面:

public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}

4. 打開頁面時, 自適應屏幕:
WebSettings webSettings = mWebView .getSettings();
webSettings.setUseWideViewPort(true);//設置此屬性,可任意比例縮放
webSettings.setLoadWithOverviewMode(true);

5. 便頁面支持縮放:
WebSettings webSettings = mWebView .getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

6.如果webView中需要用戶手動輸入用戶名、密碼或其他,則webview必須設置支持獲取手勢焦點。
webview.requestFocusFromTouch();

7.WebView 載入界面主要調用三個方法:LoadUrl、LoadData、LoadDataWithBaseURL.
1、LoadUrl 直接載入網頁、圖片並顯示.(本地或是網路上的網頁、圖片、gif)
2、LoadData 顯示文字與圖片內容 (模擬器1.5、1.6)
3、LoadDataWithBase 顯示文字與圖片內容(支持多個模擬器版本)

8.WebSettings 的常用方法介紹

setJavaScriptEnabled(true); //支持js
setPluginsEnabled(true); //支持插件
setUseWideViewPort(false); //將圖片調整到適合webview的大小
setSupportZoom(true); //支持縮放
setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //支持內容重新布局
supportMultipleWindows(); //多窗口
setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //關閉webview中緩存
setAllowFileAccess(true); //設置可以訪問文件
setNeedInitialFocus(true); //當webview調用requestFocus時為webview設置節點

webview webSettings.setBuiltInZoomControls(true); //設置支持縮放
(true); //支持通過JS打開新窗口

setLoadWithOverviewMode(true); // 縮放至屏幕的大小
setLoadsImagesAutomatically(true); //支持自動載入圖片

9.WebViewClient 的方法全解

doUpdateVisitedHistory(WebView view, String url, boolean isReload) //(更新歷史記錄)

onFormResubmission(WebView view, Message dontResend, Message resend) //(應用程序重新請求網頁數據)

onLoadResource(WebView view, String url) // 在載入頁面資源時會調用,每一個資源(比如圖片)的載入都會調用一次。

onPageStarted(WebView view, String url, Bitmap favicon) //這個事件就是開始載入頁面調用的,通常可以在這設定一個loading的頁面,告訴用戶程序在等待網路響應。
onPageFinished(WebView view, String url) //在頁面載入結束時調用。同樣道理,咱們知道一個頁面載入完成,於是可以關閉loading 條,切換程序動作。

onReceivedError(WebView view, int errorCode, String description, String failingUrl)// (報告錯誤信息)

onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,String realm)//(獲取返回信息授權請求)

onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) //重寫此方法可以讓webview處理https請求。

onScaleChanged(WebView view, float oldScale, float newScale) // (WebView發生改變時調用)

onUnhandledKeyEvent(WebView view, KeyEvent event) //(Key事件未被載入時調用)

shouldOverrideKeyEvent(WebView view, KeyEvent event)//重寫此方法才能夠處理在瀏覽器中的按鍵事件。

shouldOverrideUrlLoading(WebView view, String url)
//在點擊請求的是鏈接是才會調用,重寫此方法返回true表明點擊網頁裡面的鏈接還是在當前的webview里跳轉,不跳到瀏覽器那邊。這個函數咱們可以做很多操作,比如咱們讀取到某些特殊的URL,於是就可以不打開地址,取消這個操作,進行預先定義的其他操作,這對一個程序是非常必要的。

『玖』 android webview 聲音關不掉

private void onClose(){

m_webview.loadUrl("about:blank");
finish();

}

熱點內容
捷達哪個配置裝有esp 發布:2024-03-28 21:17:41 瀏覽:195
天氣源碼 發布:2024-03-28 21:14:11 瀏覽:427
使命召喚紅魔浪潮如何配置 發布:2024-03-28 21:13:08 瀏覽:545
nginx安裝php 發布:2024-03-28 21:09:47 瀏覽:666
利用python進行數據分析pdf 發布:2024-03-28 20:33:36 瀏覽:560
php模擬post提交 發布:2024-03-28 20:23:14 瀏覽:542
phptxt下載 發布:2024-03-28 20:12:37 瀏覽:476
如何更衣櫃密碼鎖密碼設置 發布:2024-03-28 19:42:09 瀏覽:484
如何將一台電腦當雲伺服器嗎 發布:2024-03-28 19:22:39 瀏覽:882
銀行dsk密碼什麼意思 發布:2024-03-28 19:22:35 瀏覽:10