如何以编程方式设置Videoview音量?
我有4个动态创建的视频.我想为仅来自服务器的一个视频设置自定义卷,其余三个视频将是静音的. 我想为我在代码下方尝试过的特定视频设置自定义卷 vid1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { public void onPrepared(MediaPlayer mp) { //mp.setVolume(100f, 100f); //mp.setLooping(true); vid1.enableSound(20,mp); //here i will set music sound dynamically vid1.sta
0 2024-02-19
编程技术问答社区
如何关闭安卓系统中的通知的振动
我正在开发一个处理声音和振动的应用程序'通知.我正在使用NotificationListenerService听通知.我能够使用AudioManager 打开或关闭通知的声音,如下所示: // It turns off notification's sound myAudioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); // It turns on notification's sound myAudioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false); 我还试图通过以下代码打开或关闭通知的振动,但它在我的手机上没有用,而我的手机中没有Android KitKat 4.4.4 // to turn off notification's vibration myAudioManager.setVibrateSett
从一个服务中调用setVolumeControlStream
我需要从通过STREAM_SYSTEM播放声音的服务中调用setVolumeControlStream. 显然,在一项没有问题的活动中,我该如何使用服务? 解决方案 从外观上看,这是不可能的. 如 建议的音频流将绑在此活动的窗口 的窗口上 因此,使用没有活动的服务,没有将音频流绑定到的窗口. 但是,看起来您应该能够从广播员接收媒体密钥事件(包括音量键),如所示在这里它可以使您更改服务量而不可见. 其他解决方案 我认为这个库可以为您提供您需要的东西: http://code.google.com/p/media-volume-control/
2 2024-02-18
编程技术问答社区
不断检查安卓服务的数量变化
我写了这件代码,显然是有缺陷的.我该如何创建一项服务,该服务将不断检查音量的变化?关键的听众不能在服务中使用,请不要在卷键听器中发布答案. 我的代码错了,因为我在while循环中给出了虚拟状况.我的服务需要检查卷更改而不崩溃的条件是什么?它不能是isScreenOn(),因为在听音乐时可以更改音量,并且屏幕关闭. 代码 AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); int currentVolume = audio.getStreamVolume(AudioManager.STREAM_RING); int newVolume=0; while(1==1) { newVolume = audio.getStreamVolume(AudioManager.STREAM_RING); if(current
0 2024-02-18
编程技术问答社区
Android N:在更新复选框偏好前检查DND状态是否改变
我的应用将铃声模式设置为静音,但是使用Android n我得到了java.lang.SecurityException: Not allowed to change Do Not Disturb state. 我遵循了此步骤 post ,以下代码将打开一个活动,其中包含一个切换按钮,以启用权限更改铃声模式.无需启用许可即可从此活动"备份". Intent intent = new Intent( android.provider.Settings .ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS); startActivity(intent); 问题是我要确保在尝试使用无声铃声功能之前授予许可. 我正在添加一个CheckboxPreference,以启用和禁用此铃声模式切换.因此,如果检查了复选框,我可以将Ringer模式设
如何在安卓系统中以编程方式提高铃声和通知音量
我试图启用铃声正常模式并以编程方式增加音量. AudioManager mobilemode = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE); // int streamMaxVolume = mobilemode.getStreamMaxVolume(AudioManager.STREAM_RING); switch (mobilemode.getRingerMode()) { case AudioManager.RINGER_MODE_SILENT: Log.i("MyApp","Silent mode"); mobilemode.setRingerMode(AudioManager.RINGER_MODE_NORMAL); mobilemode.setStreamVolume (AudioManager.STREAM_MUSIC,mo
0 2024-02-17
编程技术问答社区
使用媒体播放器时通过听筒播放声音
我在应用程序中播放语音邮件录音.我目前的设置方式,通过扬声器播放语音邮件.能够在扬声器和耳机之间切换的最佳方法是什么?这是我设置媒体播放器的方式: mediaPlayer = new MediaPlayer(); mediaPlayer.setOnPreparedListener(this); mediaPlayer.setOnCompletionListener(this); mediaPlayer.setOnErrorListener(this); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { mediaPlayer.setDataSource(url); } catch (Exception e) { e.printStackTrace(); return; } mediaP
2 2024-02-17
编程技术问答社区
如何使用我的安卓手机应用程序设置分贝的音量?
我正在开发一个移动应用程序,我需要播放声音文件.按按钮按下,我需要通过应用程序增加/减少音量. 我正在使用媒体播放器播放和使用setVolume(左,右)函数来设置卷. MediaPlayer mp; float left = 0.0f; float right = 0.6f; public void OnPlay(View v){ mp = MediaPlayer.create(this, R.raw.twofiftybeep); audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); mp.start(); mp.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp)
0 2024-02-17
编程技术问答社区
获取音频信息,在另一个应用程序中播放
我如何获得有关源(FileDesc.或URI)的信息? 在听众人数中,只有ismusicactive()方法,它没有提供任何其他信息. 而且由于这不是我的应用程序,我没有任何媒体播放器对象. 解决方案 注册一个已知动作意图的广播接收器,并处理广播以显示或使用轨道信息做点事 - 播放音乐: public class CurrentMusicTrackInfoActivity extends Activity { public static final String SERVICECMD = "com.android.music.musicservicecommand"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ma
0 2024-02-17
编程技术问答社区
如何将音频焦点返回到之前播放的应用程序?
我是Android应用程序开发的新手,并且有我认为可能是一个非常简单的问题,但是我很难解决如何做自己想做的事情... 我有一个简单的应用程序,当按下按钮时播放声音.播放声音后,我希望应用程序将音频返回到应用程序启动之前播放的内容(例如,如果音乐应用在播放时,声音应在播放时中断音乐,然后返回控制和恢复音乐播放.我尝试使用setonCompletionListener方法,但没有欢乐. 这是代码: public class MainActivity extends Activity implements OnClickListener{ public MediaPlayer mp = null; public ImageButton playm = null; public AudioManager audioManager = null; /** called when activity first created */ @Override protected voi
0 2024-02-17
编程技术问答社区
如何使用MediaSession.setMediaButtonReceiver(PendingIntent)来恢复播放
当我的应用程序停止时,当单击耳机按钮时,我正在尝试从我的应用中播放音乐. 我可以使用MediaSession.callback onMediaButtonEvent()或现在不建议的registerMediaButtonEventReceiver()听媒体按钮click click 我的应用程序正在播放音乐,但是如果我暂停音乐一分钟,则我的活动和播放服务仍在运行,然后按耳机按钮,我发现我失去了接收媒体按钮广播的能力.相反,Google现在打开. 我想做的是像Google Play音乐一样.即使该应用程序完全停止,它也能够启动音乐播放...后台没有服务. 我觉得 setMediabuttonreceiver(pendingIntent mbr) 为您的媒体按钮接收器设置待处理意图,以便在会话停止后重新启动播放.如果您的应用程序以这种方式启动 我的服务中有以下片段. PendingIntent pi = PendingIntent.getBroadcast(
当屏幕关闭时,MediaPlayer在Lollipop上过早地切断了播放。
我一直在Lollipop设备上遇到Mediaplayer的问题.基本上,当设备屏幕关闭(即用户锁定设备)时,播放会继续,但结束了约1-2秒. 时,这不会发生. 我在媒体上有一个oncompletionlistener: @Override public void onCompletion(final MediaPlayer mediaPlayer) { int progress = mediaPlayer.getCurrentPosition(); int duration = mediaPlayer.getDuration(); Log.d("PlaybackController", "progress: " + progress + " duration: " + duration); Log.d("PlaybackController", "Delay: " + (duration - progress)); // I'm seeing
0 2024-02-17
编程技术问答社区
安卓系统。语音记录和保存音频
我正在处理应用程序,该应用程序将记录用户的语音并将文件保存在SD卡上,然后允许用户再次收听音频. 我能够允许用户使用识别器记录他的声音,但是我无法弄清楚如何保存音频文件并允许用户听到音频.如果有人可以帮助我,我会很感激.我在下面显示了我的代码: // Setting up the onClickListener for Audio Button attachVoice = (Button) findViewById(R.id.AttachVoice_questionandanswer); attachVoice.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent voiceIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); v
安卓:从设备上隐藏音量变化条?
有没有办法隐藏卷更改栏/通知(但是您可以称其为.. btw.您如何称呼它?)? 我在上面附上了屏幕截图.每次更改音量时(至少在我的Nexus测试设备上)显示该条.还是这是一个特殊的联系? 解决方案 它是默认的honeycomb音量滑块,当您按音量上/向下按钮时出现. 您不能将其隐藏在系统的每个屏幕中,但是您可以将其隐藏在活动中. 将其添加到您要隐藏它并手动更改卷的活动中.或者,如果您不想更改卷,则只能在keycode_volume_up/down的情况下什么都不做.请记住要返回您所消费的活动的Menans.如果您返回false,当您的代码之后触发默认卷行为时,您将获得双重效果. @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (event.getKeyCode()) { case KeyEvent.KEYCODE_VOLUME_UP:
0 2024-02-15
编程技术问答社区
如何在Android L中以编程方式打开来电的扬声器?
我想在Android 5.0中使用接听电话的GUI(电话GUI)接受来电.我找到了一种需要进行一项活动的活动,该活动用于发送一些操作以打开手机的GUI.我成功打开电话的GUI来打电话.问题是我如何打开扬声器以获取手机的GUI.我尝试了代码,但没有打开.您能帮我解决Android L 中的问题吗 audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_IN_CALL); if (!audioManager.isSpeakerphoneOn()) audioManager.setSpeakerphoneOn(true); audioManager.setMode(AudioManager.MODE_NORMAL); 清单
0 2024-02-15
编程技术问答社区
安卓:从片段中调用活动
我在活动中使用片段.我正在使用Mediarecorder进行录音. 我有一个活动的两个部分. 第一本身将列出录制文件的活动. 在右侧,当一个选择新文件记录时,录音活动被调用. 当选择列出的任何文件时,我正在使用AudioPlayer播放录制的文件. 我在这里可以将活动转换为片段,但是当我按下停止时,它终止了应用程序. 请任何人都可以回答.当我将其用作简单的活动时,我的AudioreCorder工作正常. 有任何解决方案,例如我可以在该片段或类似的东西中调用该活动. 如果有人知道,请帮助我. 解决方案 使用Get Activity进行父活动,然后照常进行. Intent myIntent = new Intent(getActivity().getapplicationcontext(), BookmarkActivity.class); getActivity().startActivity(myIntent); 其他解决方案 这是另一种替代方法.这对我有用.
如何在安卓系统中检测BT耳机或有线耳机
在我的应用程序中,我想检测Android中的BT耳机或有线耳机. 我参考 .html 来自此链接的代码. 他们提到只有3.0及以上的Android版本可以支持蓝牙集和蓝牙Profile类.这有助于检测BT耳机.现在我想要2.2(Froyo)中的相同功能. 预先感谢. 解决方案 您可以通过反射在2.2中使用3.0 API.但这可能会导致您的应用在某些情况下无法正确工作,对于某些设备等,行为会不可预测. 如果您仍然想尝试,请参阅此处: 如何通过反射使用bluetoothheatheadset类 一个简短的解释: 名称反射用于描述能够在同一系统(或本身)中检查其他代码的代码. 例如,假设您在Java中有一个未知类型的对象,如果存在,则想在其上调用" dosomething"方法.除非对象符合已知界面,否则Java的静态打字系统并不是真正旨在支持它如果你愿意. 所以,在Java中为您提供了一个代码示例(假设所讨论的对象是foo): Method
2 2024-02-14
编程技术问答社区
音量变化监听器。registerMediaButtonEventReceiver是否比onKeyDown更合适?
寻找一种"最全面和兼容的(即所有android版本...)"来聆听卷更改的方式,我找到了2种不同的方法来处理这一点: registermedMediabuttoneventreceiver onkeydown + 一个> 哪种方法优选? 为什么? 更新1:感谢下面的评论,我发现onkeydown()实际上接管了卷键,这可能不是一个完整的解决方案,因为它是其中之一帖子提到的是,可以通过硬件按钮以外的接口更改卷(更不用说Google似乎正在逐渐消除那些"接管"功能). otoh,android.media.volume_changed_action是一个hack, 更新2: registermediabuttoneventreceiver根本不起作用! (对于卷硬件按钮,我只是尝试过). 其他见解? 解决方案 对于卷流的将来的API A BroadcastReceiver将是很棒的,但是今天最好的解决方案是为设置注册A ContentObserv
8 2024-02-13
编程技术问答社区
Android audiomanager-I want to set silent mode, but applied the priority mode (lollipop)
我的问题是在Android Lollipop OS中发生的. 我想设置"静音模式",但是Lollipop OS适用于'优先级模式'. (我使用Audiomomanager)有什么方法可以应用"静音模式"而不是"优先模式"? 我的代码: AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); 解决方案 由于API的变化,尝试使用int value 0而不是AudioManager.RINGER_MODE_SILENT AudioManager mAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mAudioManager.setRing
4 2024-02-12
编程技术问答社区
如何在安卓5.0以上版本中使所有通知的声音和振动静音?
我想为所有传入通知禁用声音和振动.我不介意电话振动是否也关闭.但是,用户不应触摸电话通话的音量设置. 感谢 outiomanager ,通知声音很容易: audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true); 禁用通知的振动比预期的要难. 听众具有这种折衷的振动设置的方法: audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF) 但是,这似乎对我的Android 5.0设备没有影响,我找不到任何选择. :( 我知道Lollipop围绕"优先级模式) " ,但我不想摆弄模式.切换模式可能会具有其他副作用(基于用户优先级首选项). 有什么想法在Android 5.0+? 上静音通知和振动 解决方案 由于没有人提出
0 2024-02-12
编程技术问答社区