bhrzk111
دوشنبه 19 خرداد 1393, 01:13 صبح
سلام
من یک مشکلی دارم توی برنامه اندرویدم.
من برنامه نویس وب هستم و می خواستم به نوعی این سبک را با برنامه نویسی اندروید ترکیب کنم و یک app بسازم . همه چیز اوکی هست غیر از پخش صدا.
حال من برای پخش صدا می خوام از جاوا و android sdk استفاده کنم .
کد من به این شکل است :
package com.autistic.whatsit;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.annotation.SuppressLint;
import android.media.MediaPlayer;
import android.os.Bundle;
public class Main extends ActionBarActivity {
public MediaPlayer mediaPlayer;
WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* Media Player Plugin Adjusment */
mediaPlayer = MediaPlayer.create(this, R.raw.hooray);
/*Web View JS -> JAVA Brdige*/
}
public void play(View view){
mediaPlayer.start();
}
@SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" }) public void onStart() {
super.onStart();
WebView webView = (WebView)findViewById(R.id.webview);
//enable JavaScript
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.addJavascriptInterface(new java2JSAgent(), "java2JSAgentVar");
webView.loadUrl("file:///android_asset/index.html");
}
public class java2JSAgent {
public String getContacts() {
String jsonResponse = null;
//call Android APIs to get contacts
//serialize to JSON and assign to jsonResponse
return jsonResponse;
}
}
}
این نمونه را در یکی از سایت ها پیدا کردم الان وقتی من فانکشن play() را از طریق خود اندروید فراخوانی می کنم اجرا می شود بدون مشکل .
حال من می خواهم وقتی از طریق webveiw بر روی یک لینک کلیک می کنم همون فانکشن play() اجرا بشه ولی هرکاری کردم نشد .
کد صفحه html :
<html><head>
<script type="text/javascript" charset="utf-8">
function AudioPlay() {
java2JSAgent.play();
}
</script>
</head>
<body>
Test Project via WebForm
<a href="#" onclick="AudioPlay()">Click ME PLS</a>
</body>
</html>
آیا کسی راه حلی دارد براش ؟ یا من کجای کار را اشتباه می کنم ؟
ممنون از کمک دوستان .
من یک مشکلی دارم توی برنامه اندرویدم.
من برنامه نویس وب هستم و می خواستم به نوعی این سبک را با برنامه نویسی اندروید ترکیب کنم و یک app بسازم . همه چیز اوکی هست غیر از پخش صدا.
حال من برای پخش صدا می خوام از جاوا و android sdk استفاده کنم .
کد من به این شکل است :
package com.autistic.whatsit;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.annotation.SuppressLint;
import android.media.MediaPlayer;
import android.os.Bundle;
public class Main extends ActionBarActivity {
public MediaPlayer mediaPlayer;
WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* Media Player Plugin Adjusment */
mediaPlayer = MediaPlayer.create(this, R.raw.hooray);
/*Web View JS -> JAVA Brdige*/
}
public void play(View view){
mediaPlayer.start();
}
@SuppressLint({ "JavascriptInterface", "SetJavaScriptEnabled" }) public void onStart() {
super.onStart();
WebView webView = (WebView)findViewById(R.id.webview);
//enable JavaScript
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webView.addJavascriptInterface(new java2JSAgent(), "java2JSAgentVar");
webView.loadUrl("file:///android_asset/index.html");
}
public class java2JSAgent {
public String getContacts() {
String jsonResponse = null;
//call Android APIs to get contacts
//serialize to JSON and assign to jsonResponse
return jsonResponse;
}
}
}
این نمونه را در یکی از سایت ها پیدا کردم الان وقتی من فانکشن play() را از طریق خود اندروید فراخوانی می کنم اجرا می شود بدون مشکل .
حال من می خواهم وقتی از طریق webveiw بر روی یک لینک کلیک می کنم همون فانکشن play() اجرا بشه ولی هرکاری کردم نشد .
کد صفحه html :
<html><head>
<script type="text/javascript" charset="utf-8">
function AudioPlay() {
java2JSAgent.play();
}
</script>
</head>
<body>
Test Project via WebForm
<a href="#" onclick="AudioPlay()">Click ME PLS</a>
</body>
</html>
آیا کسی راه حلی دارد براش ؟ یا من کجای کار را اشتباه می کنم ؟
ممنون از کمک دوستان .