Search in sources :

Example 11 with SoundPool

use of android.media.SoundPool in project actor-platform by actorapp.

the class AndroidNotifications method onMessageArriveInApp.

@Override
public void onMessageArriveInApp(Messenger messenger) {
    if (soundPool == null) {
        soundPool = new SoundPool(1, AudioManager.STREAM_NOTIFICATION, 0);
        soundId = soundPool.load(context, R.raw.notification, 1);
    }
    soundPool.play(soundId, 1.0f, 1.0f, 0, 0, 1.0f);
}
Also used : SoundPool(android.media.SoundPool)

Example 12 with SoundPool

use of android.media.SoundPool in project wechat by motianhuo.

the class VideoCallActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_video_call);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    callStateTextView = (TextView) findViewById(R.id.tv_call_state);
    comingBtnContainer = (LinearLayout) findViewById(R.id.ll_coming_call);
    rootContainer = (RelativeLayout) findViewById(R.id.root_layout);
    refuseBtn = (Button) findViewById(R.id.btn_refuse_call);
    answerBtn = (Button) findViewById(R.id.btn_answer_call);
    hangupBtn = (Button) findViewById(R.id.btn_hangup_call);
    muteImage = (ImageView) findViewById(R.id.iv_mute);
    handsFreeImage = (ImageView) findViewById(R.id.iv_handsfree);
    callStateTextView = (TextView) findViewById(R.id.tv_call_state);
    nickTextView = (TextView) findViewById(R.id.tv_nick);
    chronometer = (Chronometer) findViewById(R.id.chronometer);
    voiceContronlLayout = (LinearLayout) findViewById(R.id.ll_voice_control);
    btnsContainer = (RelativeLayout) findViewById(R.id.ll_btns);
    topContainer = (LinearLayout) findViewById(R.id.ll_top_container);
    bottomContainer = (LinearLayout) findViewById(R.id.ll_bottom_container);
    refuseBtn.setOnClickListener(this);
    answerBtn.setOnClickListener(this);
    hangupBtn.setOnClickListener(this);
    muteImage.setOnClickListener(this);
    handsFreeImage.setOnClickListener(this);
    rootContainer.setOnClickListener(this);
    msgid = UUID.randomUUID().toString();
    // 获取通话是否为接收方向的
    isInComingCall = getIntent().getBooleanExtra("isComingCall", false);
    username = getIntent().getStringExtra("username");
    // 设置通话人
    nickTextView.setText(username);
    // 显示本地图像的surfaceview
    localSurface = (SurfaceView) findViewById(R.id.local_surface);
    localSurface.setZOrderMediaOverlay(true);
    localSurface.setZOrderOnTop(true);
    localSurfaceHolder = localSurface.getHolder();
    // 获取callHelper,cameraHelper
    callHelper = EMVideoCallHelper.getInstance();
    cameraHelper = new CameraHelper(callHelper, localSurfaceHolder);
    // 显示对方图像的surfaceview
    oppositeSurface = (SurfaceView) findViewById(R.id.opposite_surface);
    oppositeSurfaceHolder = oppositeSurface.getHolder();
    // 设置显示对方图像的surfaceview
    callHelper.setSurfaceView(oppositeSurface);
    localSurfaceHolder.addCallback(new localCallback());
    oppositeSurfaceHolder.addCallback(new oppositeCallback());
    // 设置通话监听
    addCallStateListener();
    if (!isInComingCall) {
        // 拨打电话
        soundPool = new SoundPool(1, AudioManager.STREAM_RING, 0);
        outgoing = soundPool.load(this, R.raw.outgoing, 1);
        comingBtnContainer.setVisibility(View.INVISIBLE);
        hangupBtn.setVisibility(View.VISIBLE);
        String st = getResources().getString(R.string.Are_connected_to_each_other);
        callStateTextView.setText(st);
        handler.postDelayed(new Runnable() {

            public void run() {
                streamID = playMakeCallSounds();
            }
        }, 300);
    } else {
        // 有电话进来
        voiceContronlLayout.setVisibility(View.INVISIBLE);
        localSurface.setVisibility(View.INVISIBLE);
        Uri ringUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
        audioManager.setMode(AudioManager.MODE_RINGTONE);
        audioManager.setSpeakerphoneOn(true);
        ringtone = RingtoneManager.getRingtone(this, ringUri);
        ringtone.play();
    }
}
Also used : SoundPool(android.media.SoundPool) Uri(android.net.Uri) CameraHelper(com.juns.wechat.chat.utils.CameraHelper)

Example 13 with SoundPool

use of android.media.SoundPool in project wechat by motianhuo.

the class VoiceCallActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_voice_call);
    comingBtnContainer = (LinearLayout) findViewById(R.id.ll_coming_call);
    refuseBtn = (Button) findViewById(R.id.btn_refuse_call);
    answerBtn = (Button) findViewById(R.id.btn_answer_call);
    hangupBtn = (Button) findViewById(R.id.btn_hangup_call);
    muteImage = (ImageView) findViewById(R.id.iv_mute);
    handsFreeImage = (ImageView) findViewById(R.id.iv_handsfree);
    callStateTextView = (TextView) findViewById(R.id.tv_call_state);
    nickTextView = (TextView) findViewById(R.id.tv_nick);
    durationTextView = (TextView) findViewById(R.id.tv_calling_duration);
    chronometer = (Chronometer) findViewById(R.id.chronometer);
    voiceContronlLayout = (LinearLayout) findViewById(R.id.ll_voice_control);
    refuseBtn.setOnClickListener(this);
    answerBtn.setOnClickListener(this);
    hangupBtn.setOnClickListener(this);
    muteImage.setOnClickListener(this);
    handsFreeImage.setOnClickListener(this);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    // 注册语音电话的状态的监听
    addCallStateListener();
    msgid = UUID.randomUUID().toString();
    username = getIntent().getStringExtra("username");
    // 语音电话是否为接收的
    isInComingCall = getIntent().getBooleanExtra("isComingCall", false);
    // 设置通话人
    nickTextView.setText(username);
    if (!isInComingCall) {
        // 拨打电话
        soundPool = new SoundPool(1, AudioManager.STREAM_RING, 0);
        outgoing = soundPool.load(this, R.raw.outgoing, 1);
        comingBtnContainer.setVisibility(View.INVISIBLE);
        hangupBtn.setVisibility(View.VISIBLE);
        st1 = getResources().getString(R.string.Are_connected_to_each_other);
        callStateTextView.setText(st1);
        handler.postDelayed(new Runnable() {

            public void run() {
                streamID = playMakeCallSounds();
            }
        }, 300);
        try {
            // 拨打语音电话
            EMChatManager.getInstance().makeVoiceCall(username);
        } catch (EMServiceNotReadyException e) {
            e.printStackTrace();
            final String st2 = getResources().getString(R.string.Is_not_yet_connected_to_the_server);
            runOnUiThread(new Runnable() {

                public void run() {
                    Toast.makeText(VoiceCallActivity.this, st2, 0).show();
                }
            });
        }
    } else {
        // 有电话进来
        voiceContronlLayout.setVisibility(View.INVISIBLE);
        Uri ringUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
        audioManager.setMode(AudioManager.MODE_RINGTONE);
        audioManager.setSpeakerphoneOn(true);
        ringtone = RingtoneManager.getRingtone(this, ringUri);
        ringtone.play();
    }
}
Also used : EMServiceNotReadyException(com.easemob.exceptions.EMServiceNotReadyException) SoundPool(android.media.SoundPool) Uri(android.net.Uri)

Example 14 with SoundPool

use of android.media.SoundPool in project android_frameworks_base by AOSPA.

the class KeyguardViewMediator method setupLocked.

private void setupLocked() {
    mPM = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
    mWM = WindowManagerGlobal.getWindowManagerService();
    mTrustManager = (TrustManager) mContext.getSystemService(Context.TRUST_SERVICE);
    mShowKeyguardWakeLock = mPM.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "show keyguard");
    mShowKeyguardWakeLock.setReferenceCounted(false);
    IntentFilter filter = new IntentFilter();
    filter.addAction(DELAYED_KEYGUARD_ACTION);
    filter.addAction(DELAYED_LOCK_PROFILE_ACTION);
    filter.addAction(Intent.ACTION_SHUTDOWN);
    mContext.registerReceiver(mBroadcastReceiver, filter);
    mKeyguardDisplayManager = new KeyguardDisplayManager(mContext);
    mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
    mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
    mLockPatternUtils = new LockPatternUtils(mContext);
    KeyguardUpdateMonitor.setCurrentUser(ActivityManager.getCurrentUser());
    // Assume keyguard is showing (unless it's disabled) until we know for sure...
    setShowingLocked(!shouldWaitForProvisioning() && !mLockPatternUtils.isLockScreenDisabled(KeyguardUpdateMonitor.getCurrentUser()));
    updateInputRestrictedLocked();
    mTrustManager.reportKeyguardShowingChanged();
    mStatusBarKeyguardViewManager = SystemUIFactory.getInstance().createStatusBarKeyguardViewManager(mContext, mViewMediatorCallback, mLockPatternUtils);
    final ContentResolver cr = mContext.getContentResolver();
    mDeviceInteractive = mPM.isInteractive();
    mLockSounds = new SoundPool(1, AudioManager.STREAM_SYSTEM, 0);
    String soundPath = Settings.Global.getString(cr, Settings.Global.LOCK_SOUND);
    if (soundPath != null) {
        mLockSoundId = mLockSounds.load(soundPath, 1);
    }
    if (soundPath == null || mLockSoundId == 0) {
        Log.w(TAG, "failed to load lock sound from " + soundPath);
    }
    soundPath = Settings.Global.getString(cr, Settings.Global.UNLOCK_SOUND);
    if (soundPath != null) {
        mUnlockSoundId = mLockSounds.load(soundPath, 1);
    }
    if (soundPath == null || mUnlockSoundId == 0) {
        Log.w(TAG, "failed to load unlock sound from " + soundPath);
    }
    soundPath = Settings.Global.getString(cr, Settings.Global.TRUSTED_SOUND);
    if (soundPath != null) {
        mTrustedSoundId = mLockSounds.load(soundPath, 1);
    }
    if (soundPath == null || mTrustedSoundId == 0) {
        Log.w(TAG, "failed to load trusted sound from " + soundPath);
    }
    int lockSoundDefaultAttenuation = mContext.getResources().getInteger(com.android.internal.R.integer.config_lockSoundVolumeDb);
    mLockSoundVolume = (float) Math.pow(10, (float) lockSoundDefaultAttenuation / 20);
    mHideAnimation = AnimationUtils.loadAnimation(mContext, com.android.internal.R.anim.lock_screen_behind_enter);
}
Also used : IntentFilter(android.content.IntentFilter) KeyguardDisplayManager(com.android.keyguard.KeyguardDisplayManager) LockPatternUtils(com.android.internal.widget.LockPatternUtils) SoundPool(android.media.SoundPool) ContentResolver(android.content.ContentResolver)

Example 15 with SoundPool

use of android.media.SoundPool in project android_frameworks_base by DirtyUnicorns.

the class KeyguardViewMediator method setupLocked.

private void setupLocked() {
    mPM = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
    mWM = WindowManagerGlobal.getWindowManagerService();
    mTrustManager = (TrustManager) mContext.getSystemService(Context.TRUST_SERVICE);
    mShowKeyguardWakeLock = mPM.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "show keyguard");
    mShowKeyguardWakeLock.setReferenceCounted(false);
    IntentFilter filter = new IntentFilter();
    filter.addAction(DELAYED_KEYGUARD_ACTION);
    filter.addAction(DELAYED_LOCK_PROFILE_ACTION);
    filter.addAction(Intent.ACTION_SHUTDOWN);
    mContext.registerReceiver(mBroadcastReceiver, filter);
    mKeyguardDisplayManager = new KeyguardDisplayManager(mContext);
    mAlarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
    mUpdateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
    mLockPatternUtils = new LockPatternUtils(mContext);
    KeyguardUpdateMonitor.setCurrentUser(ActivityManager.getCurrentUser());
    // Assume keyguard is showing (unless it's disabled) until we know for sure...
    setShowingLocked(!shouldWaitForProvisioning() && !mLockPatternUtils.isLockScreenDisabled(KeyguardUpdateMonitor.getCurrentUser()));
    updateInputRestrictedLocked();
    mTrustManager.reportKeyguardShowingChanged();
    mStatusBarKeyguardViewManager = SystemUIFactory.getInstance().createStatusBarKeyguardViewManager(mContext, mViewMediatorCallback, mLockPatternUtils);
    final ContentResolver cr = mContext.getContentResolver();
    mDeviceInteractive = mPM.isInteractive();
    mLockSounds = new SoundPool(1, AudioManager.STREAM_SYSTEM, 0);
    String soundPath = Settings.Global.getString(cr, Settings.Global.LOCK_SOUND);
    if (soundPath != null) {
        mLockSoundId = mLockSounds.load(soundPath, 1);
    }
    if (soundPath == null || mLockSoundId == 0) {
        Log.w(TAG, "failed to load lock sound from " + soundPath);
    }
    soundPath = Settings.Global.getString(cr, Settings.Global.UNLOCK_SOUND);
    if (soundPath != null) {
        mUnlockSoundId = mLockSounds.load(soundPath, 1);
    }
    if (soundPath == null || mUnlockSoundId == 0) {
        Log.w(TAG, "failed to load unlock sound from " + soundPath);
    }
    soundPath = Settings.Global.getString(cr, Settings.Global.TRUSTED_SOUND);
    if (soundPath != null) {
        mTrustedSoundId = mLockSounds.load(soundPath, 1);
    }
    if (soundPath == null || mTrustedSoundId == 0) {
        Log.w(TAG, "failed to load trusted sound from " + soundPath);
    }
    int lockSoundDefaultAttenuation = mContext.getResources().getInteger(com.android.internal.R.integer.config_lockSoundVolumeDb);
    mLockSoundVolume = (float) Math.pow(10, (float) lockSoundDefaultAttenuation / 20);
    mHideAnimation = AnimationUtils.loadAnimation(mContext, com.android.internal.R.anim.lock_screen_behind_enter);
}
Also used : IntentFilter(android.content.IntentFilter) KeyguardDisplayManager(com.android.keyguard.KeyguardDisplayManager) LockPatternUtils(com.android.internal.widget.LockPatternUtils) SoundPool(android.media.SoundPool) ContentResolver(android.content.ContentResolver)

Aggregations

SoundPool (android.media.SoundPool)16 ContentResolver (android.content.ContentResolver)5 IntentFilter (android.content.IntentFilter)5 LockPatternUtils (com.android.internal.widget.LockPatternUtils)5 KeyguardDisplayManager (com.android.keyguard.KeyguardDisplayManager)5 Uri (android.net.Uri)2 View (android.view.View)2 Test (org.junit.Test)2 Config (org.robolectric.annotation.Config)2 Intent (android.content.Intent)1 MediaPlayer (android.media.MediaPlayer)1 OnPreparedListener (android.media.MediaPlayer.OnPreparedListener)1 OnLoadCompleteListener (android.media.SoundPool.OnLoadCompleteListener)1 OnClickListener (android.view.View.OnClickListener)1 Button (android.widget.Button)1 TextView (android.widget.TextView)1 EMServiceNotReadyException (com.easemob.exceptions.EMServiceNotReadyException)1 CameraHelper (com.juns.wechat.chat.utils.CameraHelper)1 LuaTable (org.luaj.vm2.LuaTable)1 LuaValue (org.luaj.vm2.LuaValue)1