PDA

View Full Version : پخش صدا با استفاده از سرویس



ravaei
چهارشنبه 04 آذر 1394, 11:02 صبح
درود بنده برای یه برنامه خاص مجبورم که یک فایل صوتی رو با استفاده از سرویس پخش کنم ولی متاسفانه سرویس ایجاد میشه ولی صدایی پخش نمیشه
برای پخش هم از کلاس media player استفاده می کنم

این فایل player که از service ارث بری می کنه ...



package org.tooj;



import org.qtproject.example.Book.R;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;


public class Player extends Service {


MediaPlayer Player;
@Override
public void onCreate() {

//Player.start();

}

@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}


public int onStartCommand(Intent intent, int flags, int startId) {
Player = MediaPlayer.create(ToojActivity.getInstance(),R.ra w.alfa);
Player.setLooping(true);
Player.setVolume(1,1);
Player.start();
return 1;
}

public void onStart(Intent intent, int startId) {
// TO DO
}
public IBinder onUnBind(Intent arg0) {
// TO DO Auto-generated method
return null;
}

public void onStop() {

}
public void onPause() {

}
@Override
public void onDestroy() {
Player.stop();
Player.release();
}

@Override
public void onLowMemory() {

}

}







این فایلی که سرویس رو صدا میکنه با startcommand :




package org.tooj;

import android.annotation.TargetApi;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;

import org.qtproject.qt5.android.bindings.QtActivity;

public class ToojActivity extends QtActivity{



private static ToojActivity instance;
private boolean _transparentStatusBar = false;
private boolean _transparentNavigationBar = false;

public ToojActivity(){
instance = this;
Log.i("ToojActivity", "ctor");





}

@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);

Intent svc=new Intent(this, Player.class);
startService(svc);



Window w = getWindow();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLU CENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGA TION);
w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLU CENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS );
_transparentStatusBar = true;
_transparentNavigationBar = true;
} else {
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_ NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
_transparentStatusBar = true;
}
}

public static ToojActivity getInstance() {
return ToojActivity.instance;
}

public void SetStatusBarIsTransparent(boolean value) {
_transparentStatusBar = value;
}

public void GetNavigationBarIsTransparent(boolean value) {
_transparentNavigationBar = value;
}

public boolean GetStatusBarIsTransparent() {
return _transparentStatusBar;
}

public boolean GetNavigationBarIsTransparent() {
return _transparentNavigationBar;
}

}










فایل manifest :




<?xml version='1.0' encoding='utf-8'?>
<manifest package="org.qtproject.example.Book" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">

<application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="Book">
<activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smalles tScreenSize|layoutDirection|locale|fontScale|keybo ard|keyboardHidden|navigation"
android:name="org.tooj.ToojActivity"
android:label="Book"
android:screenOrientation="unspecified"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="android.app.lib_name" android:value="Book"/>
<meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
<meta-data android:name="android.app.repository" android:value="default"/>
<meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
<meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
<!-- Deploy Qt libs as part of package -->
<meta-data android:name="android.app.bundle_local_qt_libs" android:value="1"/>
<meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
<meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
<!-- Run with local libs -->
<meta-data android:name="android.app.use_local_qt_libs" android:value="1"/>
<meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
<meta-data android:name="android.app.load_local_libs" android:value="plugins/platforms/android/libqtforandroid.so:plugins/bearer/libqandroidbearer.so:lib/libQt5QuickParticles.so:plugins/mediaservice/libqtmedia_android.so:lib/libQt5MultimediaQuick_p.so"/>
<meta-data android:name="android.app.load_local_jars" android:value="jar/QtAndroid.jar:jar/QtAndroidAccessibility.jar:jar/QtAndroid-bundled.jar:jar/QtAndroidAccessibility-bundled.jar:jar/QtAndroidBearer.jar:jar/QtAndroidBearer-bundled.jar:jar/QtMultimedia.jar:jar/QtMultimedia-bundled.jar"/>
<meta-data android:name="android.app.static_init_classes" android:value="org.qtproject.qt5.android.multimedia.QtMultimediaU tils:org.qtproject.qt5.android.multimedia.QtMultim ediaUtils"/>
<!-- Messages maps -->
<meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
<meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
<meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
<!-- Messages maps -->

<!-- Splash screen -->
<!--
<meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
-->
<!-- Splash screen -->

<!-- Background running -->
<!-- Warning: changing this value to true may cause unexpected crashes if the
application still try to draw after
"applicationStateChanged(Qt::ApplicationSuspended)"
signal is sent! -->
<meta-data android:name="android.app.background_running" android:value="false"/>
<!-- Background running -->
</activity>
<service android:name=".Player"/>
</application>
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
<supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>

<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
Remove the comment if you do not require these default permissions. -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />



<!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
Remove the comment if you do not require these default features. -->
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
<uses-feature android:glEsVersion="0x00020000" android:required="true" />

</manifest>








فایل صوتی که به آرگومان دوم تابع mediaplayer.create پاس میدم mp3 هستش با wave هم امتحان کردم کار نمی کنه !!

ravaei
چهارشنبه 04 آذر 1394, 20:33 عصر
از دوستان کسی هست کمک کنه؟؟