我在我的应用程序中编写了这段代码
接收器.java
if (action.equals(Intent.ACTION_SCREEN_ON) && am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL)
{
if(u!=null) {
stopPlaying();
mp = MediaPlayer.create(context, u);
mp.start();
}
}
else if (action.equals(Intent.ACTION_SCREEN_OFF) && am.getRingerMode() == AudioManager.RINGER_MODE_NORMAL)
{
if(u2!=null) {
stopPlaying();
mp = MediaPlayer.create(context, u2);
mp.start();
}
}
}
private void stopPlaying() {
if (mp != null) {
mp.stop();
mp.release();
mp = null;
}
}
它工作完美,但是我注意到屏幕关闭时播放音频有延迟。我想这是因为设备在启动关闭状态之前会调暗屏幕。
我希望它在单击触发关闭状态的操作(例如单击电源按钮、手势或双击以唤醒和睡眠)时播放关闭音频。在这种情况下,我希望它在触发电源按钮时播放。
有办法让这成为可能吗?
您添加此代码。
首先,您需要向清单文件添加以下权限:
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
要处理短按和长按,请在活动类中添加以下覆盖:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_POWER) {
// Do something here...
event.startTracking(); // Needed to track long presses
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_POWER) {
// Do something here...
return true;
}
return super.onKeyLongPress(keyCode, event);
}
用于广播接收器
在menifest文件中
<receiver android:name=".MyReceiver" >
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF" >
</action>
<action android:name="android.intent.action.SCREEN_ON" >
</action>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" >
</action>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" >
</action>
<action android:name="android.intent.action.ACTION_SHUTDOWN" >
</action>
</intent-filter>
</receiver>
在MyReceiver.java
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.v("onReceive", "Power button is pressed.");
Toast.makeText(context, "power button clicked", Toast.LENGTH_LONG)
.show();
// perform what you want here
}
问题内容: 我有这个代码 它的工作原理,但不是我所期望的。声音会播放,但仅在我每次按下按钮时播放。我的主意是 当我按下按钮时,声音会播放,当我停止动作(手指在按钮之外)时,音乐会暂停。 有什么想法吗? 谢谢 问题答案: 这应该可以工作(我认为您的开关柜出了点问题):
问题内容: 我是编程的初学者,并开始学习Swift,以制作一款有趣的钢琴应用。 按下按钮时我无法播放声音。我已经搜索了一些网站,但是我还是个初学者,无法理解… http://www.tmroyal.com/playing-sounds-in-swift-avaudioplayer.html http://www.rockhoppertech.com/blog/swift- avfoundation
我想创建一个非常简单的应用程序,当你按下空格键时,它会开始一首歌曲,但当我启动应用程序并按下空格键,我只会听到“砰”的一声,什么也不会开始。没有音乐。 代码如下:
问题内容: 我正在Android上创建游戏,并且已经将这个问题搁置了一段时间,现在又回到了问题上。在我的游戏中,我有背景音乐,枪声,爆炸声等,而且我需要能够同时玩它们。现在,当我在SoundPool类上调用play时,当前正在播放的声音被打断,新的声音开始播放。下面是我的SoundManager类及其用法。任何帮助将不胜感激,因为这确实是我需要拥有如此多音效的第一款游戏。谢谢! …这是我如何使用该
问题内容: 单击按钮时,我尝试播放音频文件,但它不起作用,我的html代码为: 我的JavaScript是: 问题答案: 哪种方法? 您可以使用或或标签播放音频。延迟加载(需要时加载)如果声音很小,则声音是最好的方法。您可以动态创建音频元素,在加载音频元素时可以使用来启动和暂停。 我们使用的东西 我们将使用事件来检测我们的文件已准备好播放。 音频元素没有任何功能。我们只能暂停它们。而且,当我们要从
我想知道如何创建像这个网站上的按钮,当点击将播放一个简短的音频文件。 https://www.theitalianexperiment.com/learn-意大利语/to-be 我知道如何使用该元素添加音频文件,但我想以按钮格式将其添加到文本的左边(例如,添加到下面的代码中),就像在网站上一样,这就是我所坚持的。 HTML CSS 谢谢!