永大电梯故障代码E12什么故障

前段时间有这样一个需求,webview显示一个带音乐的网页,在播放音乐的时候进入第三方软件暂停播放,返回时继续播放。后来参考了两篇文章解决了这个问题。
AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
OnAudioFocusChangeListener listener = new OnAudioFocusChangeListener() {
public void onAudioFocusChange(int focusChange) {
DebugLog.d(TAG, "onAudioFocusChange: "
+ focusChange);
在onPause方法中执行了如下代码(把播放音乐的焦点拿走):
int result = audioManager.requestAudioFocus(
, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
DebugLog.d(TAG, "I get Audio right: ");
} while (i & 10);
在onResume方法中执行如下代码(释放拿走的焦点):
if (audioManager!= null) {
audioManager.abandonAudioFocus(listener);
audioManager = null;
在执行以上两段代码时,有需要加上判断:
if(Build.VERSION.SDK_INT &= Build.VERSION_CODES.ECLAIR_MR1){
参考的两篇文章:
http://blog.csdn.net/u/article/details/
http://blog.csdn.net/shuaicike/article/details/
以上代码也是参考了两篇文章,只取了我需要的部分
阅读(...) 评论()1194人阅读
iOS 随记(26)
解决方案:
- (void)viewDidDisappear:(BOOL)animated
& & [super viewDidDisappear:animated];
& & [self.webView
loadRequest:[NSURLRequest
requestWithURL:[NSURL
URLWithString:@&about:blank&]]];
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:76779次
积分:1291
积分:1291
排名:千里之外
原创:53篇
转载:17篇
(2)(1)(1)(2)(4)(1)(1)(1)(1)(2)(2)(2)(4)(3)(1)(1)(1)(1)(3)(3)(1)(2)(6)(4)(5)(4)(8)(2)Android简易Flash播放器(暂停、播放、重播)
我的图书馆
Android简易Flash播放器(暂停、播放、重播)
申明下:重播有js调用flash函数重播有问题。这个和安全沙箱有关系。我搞不定。所以这里的重播是刷新了WebView。很多同学问,在模拟器上怎么实现flash,很遗憾的说,模拟器上是无法做到的(在我认知范围内),因为adobe做这个插件的时候,里面有什么硬件加速的功能之类的,模拟器不是真机,很多东西都只是一个"虚拟机"而已。。。上一节,大体说了下在Android程序中嵌套Flash动画。这次按照上次的内容做个扩展,做个简易的flash播放器。前提条件如上一节所说,需要Android2.2平台和安装flash的插件。先看工程图和效果图:
工程源码:&&
package com.geolo.android.
import com.geolo.android.FileB
import com.geolo.android.R;
import android.app.A
import android.app.AlertD
import android.app.ProgressD
import android.content.DialogI
import android.content.I
import android.os.B
import android.os.H
import android.os.M
import android.util.L
import android.view.KeyE
import android.view.V
import android.webkit.WebChromeC
import android.webkit.WebSettings.PluginS
import android.webkit.WebV
import android.widget.B
import android.widget.FrameL
import android.widget.ProgressB
public class FlashActivity extends Activity{
& && &&&private WebView mWebV
& && &&&private Button playButton,pauseButton,rewindButton,exitButton,fileB
& && &&&private ProgressBar mProgressBarH
& && &&&private final static int PROGRESSBARSIZE = 0x0000;
& && &&&private final static int FLASH_START = 0x0001;
& && &&&private String flashN
& && &&&private boolean stopThread =
& && &&&private ProgressDialog mProgressD
& && &&&@Override
& && &&&public void onCreate(Bundle savedInstanceState) {
& && && && && & super.onCreate(savedInstanceState);
& && && && && & setContentView(R.layout.main);
& && && && && & mProgressDialog = new ProgressDialog(this);
& && && && && & mProgressDialog.setMessage("Flash动画正在加载,请稍等......");
& && && && && & mProgressDialog.show();
& && && && && & Intent intent = this.getIntent();
& && && && && & String fileName = intent.getStringExtra("fileName");
& && && && && & if(fileName != null && !fileName.equals("")){
& && && && && && && && &flashName = "file://"+fileN
& && && && && && && && &//flashName = "javascript:setFlashPath(flashName)";
& && && && && & }else{
& && && && && && && && &flashName = "file:///android_asset/sample/flash.swf";
& && && && && & }
& && && && && & Log.d(this.getClass().getName(), flashName);& && && && && &
& && && && && & mWebView = (WebView)findViewById(R.id.webView01);
& && && && && & mProgressBarHorizontal = (ProgressBar)findViewById(R.id.progress_horizontal);
& && && && && & this.setProgress(mProgressBarHorizontal.getProgress() * 100);
& && && && && & //this.setSecondaryProgress(mProgressBarHorizontal.getSecondaryProgress() * 100);
& && && && && & playButton = (Button)findViewById(R.id.playButton);
& && && && && & pauseButton = (Button)findViewById(R.id.pauseButton);
& && && && && & rewindButton = (Button)findViewById(R.id.rewindButton);
& && && && && & exitButton = (Button)findViewById(R.id.exitButton);
& && && && && & fileButton = (Button)findViewById(R.id.fileButton);
& && && && && & playButton.setOnClickListener(buttonListener);
& && && && && & pauseButton.setOnClickListener(buttonListener);
& && && && && & rewindButton.setOnClickListener(buttonListener);
& && && && && & exitButton.setOnClickListener(buttonListener);
& && && && && & fileButton.setOnClickListener(buttonListener);
& && && && && & mWebView.getSettings().setJavaScriptEnabled(true);&&
& && && && && & //mWebView.getSettings().setPluginsEnabled(true);
& && && && && & mWebView.getSettings().setPluginState(PluginState.ON);
& && && && && & mWebView.setWebChromeClient(new WebChromeClient());
& && && && && & mWebView.addJavascriptInterface(new CallJava(), "CallJava");
& && && && && & mWebView.loadUrl("file:///android_asset/sample/index.html");
& && && && && & //mWebView.loadUrl("javascript:setFlashPath('"+flashName+"')");
& && && && && & startThread();
& && &&&Button.OnClickListener buttonListener = new Button.OnClickListener() {& && &&&
& && && && && & @Override
& && && && && & public void onClick(View v) {
& && && && && && && && &int buttonID = v.getId();
& && && && && && && && &switch (buttonID) {
& && && && && && && && &case R.id.playButton:
& && && && && && && && && && &&&mWebView.loadUrl("javascript:Play()");
& && && && && && && && && && &&&showFlashProgress(5);
& && && && && && && && && && &&&
& && && && && && && && &case R.id.pauseButton:
& && && && && && && && && && &&&mWebView.loadUrl("javascript:Pause()");
& && && && && && && && && && &&&
& && && && && && && && &case R.id.rewindButton:
& && && && && && && && && && &&&//mWebView.loadUrl(flashName);
& && && && && && && && && && &&&try {
& && && && && && && && && && && && && & mWebView.loadUrl("about:blank");
& && && && && && && && && && && && && & mWebView.loadUrl("file:///android_asset/sample/index.html");
& && && && && && && && && && && && && & Thread.sleep(1000);
& && && && && && && && && && && && && & mWebView.loadUrl("javascript:setFlashPath('"+flashName+"')");
& && && && && && && && && && &&&} catch (InterruptedException e) {
& && && && && && && && && && && && && & Log.e(this.getClass().getName(), "Flash Rewind error: ", e);
& && && && && && && && && && &&&}
& && && && && && && && && && &&&
& && && && && && && && &case R.id.fileButton:
& && && && && && && && && && &&&Intent intent = new Intent();
& && && && && && && && && && &&&intent.setClass(FlashActivity.this, FileBrowser.class);
& && && && && && && && && && &&&startActivity(intent);
& && && && && && && && && && &&&stopThread =
& && && && && && && && && && &&&FlashActivity.this.finish();
& && && && && && && && && && &&&
& && && && && && && && &case R.id.exitButton:
& && && && && && && && && && &&&quitDialog();
& && && && && && && && && && &&&
& && && && && && && && &default:
& && && && && && && && && && &&&
& && && && && && && && &}
& && && && && & }
& && &&&};
& && &&&public void showFlashProgress(float progressSize){
& && && && && & int size = (int)progressS
& && && && && & //Toast.makeText(this, size+"", Toast.LENGTH_SHORT).show();
& && && && && & mProgressBarHorizontal.setProgress(size);
& && &&&private void quitDialog(){
& && && && && & new AlertDialog.Builder(this)
& && && && && & .setMessage("没胆就不要退出")
& && && && && & .setPositiveButton("比你有胆", new AlertDialog.OnClickListener() {
& && && && && && && && &@Override
& && && && && && && && &public void onClick(DialogInterface dialog, int which) {
& && && && && && && && && && &&&stopThread =
& && && && && && && && && && &&&FlashActivity.this.finish();
& && && && && && && && &}
& && && && && & })
& && && && && & .setNegativeButton("怕你了", null)
& && && && && & .show();
& && &&&@Override
& && &&&public boolean onKeyDown(int keyCode, KeyEvent event) {
& && && && && & switch (keyCode) {
& && && && && & case KeyEvent.KEYCODE_BACK:
& && && && && && && && &quitDialog();
& && && && && && && && &
& && && && && & default:
& && && && && && && && &
& && && && && & }
& && && && && &
& && &&&@Override
& && &&&protected void onPause(){
& && && && && & super.onPause();
& && && && && & mWebView.pauseTimers();
& && && && && & if(isFinishing()){
& && && && && && && && &mWebView.loadUrl("about:blank");
& && && && && && && && &setContentView(new FrameLayout(this));
& && && && && & }
& && &&&@Override
& && &&&protected void onResume(){
& && && && && & super.onResume();
& && && && && & mWebView.resumeTimers();
& && &&&private final class CallJava{
& && && && && & public void consoleFlashProgress(float&&progressSize){
& && && && && && && && &showFlashProgress(progressSize);
& && && && && & }
& && &&&private void startThread(){
& && && && && & //通过线程来改变ProgressBar的值
& && && && && & new Thread(new Runnable() {
& && && && && && && && &@Override
& && && && && && && && &public void run() {
& && && && && && && && && && &&&try {
& && && && && && && && && && && && && & Thread.sleep(2000);
& && && && && && && && && && && && && & Message message = new Message();
& && && && && && && && && && && && && & message.what = FlashActivity.FLASH_START;
& && && && && && && && && && && && && & FlashActivity.this.myMessageHandler.sendMessage(message);
& && && && && && && && && && &&&} catch (InterruptedException e1) {
& && && && && && && && && && && && && & Thread.currentThread().interrupt();
& && && && && && && && && && &&&}
& && && && && && && && && && &&&while(!stopThread && !Thread.currentThread().isInterrupted()){
& && && && && && && && && && && && && & try {
& && && && && && && && && && && && && && && && &Thread.sleep(2000);
& && && && && && && && && && && && && && && && &Message message2 = new Message();
& && && && && && && && && && && && && && && && &message2.what = FlashActivity.PROGRESSBARSIZE;
& && && && && && && && && && && && && && && && &FlashActivity.this.myMessageHandler.sendMessage(message2);
& && && && && && && && && && && && && & } catch (Exception e) {
& && && && && && && && && && && && && && && && &Thread.currentThread().interrupt();
& && && && && && && && && && && && && & }
& && && && && && && && && && &&&}
& && && && && && && && &}
& && && && && & }).start();
& && &&&Handler myMessageHandler = new Handler() {
& && && && && & @Override
& && && && && & public void handleMessage(Message msg) {
& && && && && && && && &switch (msg.what) {
& && && && && && && && &case FlashActivity.PROGRESSBARSIZE:
& && && && && && && && && && &&&mWebView.loadUrl("javascript:showcount()");
& && && && && && && && && && &&&
& && && && && && && && &case FlashActivity.FLASH_START:
& && && && && && && && && && &&&mWebView.loadUrl("javascript:setFlashPath('"+flashName+"')");
& && && && && && && && && && &&&Log.d(this.getClass().getName(),"Start flash : "+flashName);
& && && && && && && && && && &&&mProgressDialog.dismiss();
& && && && && && && && && && &&&
& && && && && && && && &default:
& && && && && && && && && && &&&
& && && && && && && && &}
& && && && && && && && &super.handleMessage(msg);
& && && && && & }
& && &&&};
}复制代码[工程打包资源下载:或者
(1.67 MB, 下载次数: 1322)
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&场景:微信、浏览器、App
普通解决方案:采用audio标签的autoplay属性
大部分IOS系统和少部分Android微信不支持自动播放
$解决方案:监听WeixinJSBridgeReady事件、DOMContentLoaded事件 微信的JS API建立在微信壳浏览器的内置JS对象WeixinJSBridge上,WeixinJSBridge并不是WebView一打开就有了,客户端需要初始化这个对象,当这个对象准备好的时候,客户端会抛出事件"WeixinJSBridgeReady"。 发现部分机型,监听DOMContentLoaded和load事件,在回调中也可以播放音乐; 所以,为了保险起见,可以同时监听两个事件,以增强其适用性。 代码如下: &audio&style="display:&height:&0"&id="bg-music"&preload="auto"&src="../static/videos/bg-music.mp3"&loop="loop"&&/audio&document.addEventListener('DOMContentLoaded',&function&()&{& & function&audioAutoPlay()&{& & & & var&audio&=&document.getElementById('bg-music');& & & & & & audio.play();& & & & document.addEventListener("WeixinJSBridgeReady",&function&()&{& & & & & & audio.play();& & & & },&false);& & }& & audioAutoPlay();});&
部分Android浏览器和所有IOS下Safari浏览器不支持自动播放
  解决方案:通过手势事件播放音乐   (1) 监听body的touchstart事件,回调中播放音乐;   缺点:部分元素的touch事件可能会阻止冒泡,需要在对应的地方调起播放音乐函数   (2) 可以增加透明层,点击到透明层,播放音乐,关闭透明层;   缺点:第一次点击按钮元素可能不响应,造成用户体验上的伤害。
部分App不支持webview音乐自动播放
  解决方案:1.壳浏览器支持;2.通过手势事件播放音乐 &   完整代码: //&音乐播放function&autoPlayMusic()&{& & //&自动播放音乐效果,解决浏览器或者APP自动播放问题& & function&musicInBrowserHandler()&{& & & & musicPlay(true);& & & & document.body.removeEventListener('touchstart',&musicInBrowserHandler);& & }& & document.body.addEventListener('touchstart',&musicInBrowserHandler);& & //&自动播放音乐效果,解决微信自动播放问题& & function&musicInWeixinHandler()&{& & & & musicPlay(true);& & & & document.addEventListener("WeixinJSBridgeReady",&function&()&{& & & & & & musicPlay(true);& & & & },&false);& & & & document.removeEventListener('DOMContentLoaded',&musicInWeixinHandler);& & }& & document.addEventListener('DOMContentLoaded',&musicInWeixinHandler);}function&musicPlay(isPlay)&{& & var&media&=&document.querySelector('#bg-music');& & if&(isPlay&&&&media.paused)&{& & & & media.play();& & }& & if&(!isPlay&&&&!media.paused)&{& & & & media.pause();& & }}
阅读(...) 评论()

我要回帖

更多关于 电梯永大最烂 的文章

 

随机推荐