我正在处理的应用程序播放音乐文件.如果计时器到期,我希望音乐淡出.我怎么做.我正在使用MediaPlayer播放音乐和音乐文件存在于我的应用程序的原始文件夹中.
我目前在我的应用程序中播放背景音乐和其他声音的方式非常奇怪:
最奇怪的部分: 当iPhone的音量一直向下(静音)时,应该没有任何声音.背景音乐开启但没有设备音量,它可以达到您所期望的效果 - 您无法听到音乐或声音效果.但是如果关闭背景音乐,即使设备本身完全关闭,声音效果仍会播放并且非常响亮!
这是我的代码......
对于我的背景音乐:
AVAudioPlayer *musicPlayer;
- (void)playMusic {
if (musicPlayer == nil) {
NSURL *musicPath = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"SongFile" ofType:@"mp3"]];
musicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicPath error:nil];
musicPlayer.volume = 0.2f;
musicPlayer.numberOfLoops = -1;
}
[musicPlayer play];
}
- (void)stopMusic {
[musicPlayer stop];
}
Run Code Online (Sandbox Code Playgroud)
对于播放期间的声音:
#import "SoundEffect.h"
SoundEffect *sounds;
- (void)playSoundWithInfo:(NSString *)sound; {
NSString *path = [[NSBundle mainBundle] pathForResource:sound ofType:@"caf"];
sounds = nil;
sounds = [[SoundEffect alloc] initWithContentsOfFile:path];
[sounds play];
}
Run Code Online (Sandbox Code Playgroud)
任何想法将不胜感激.
任何人都可以指点我们如何在iPhone应用程序的录音中添加重新动词效果?
应用程序商店免费提供Vocal,这是我想要包含混响效果的一个很好的例子.
iOS文档中的Core Audio Overview将混响引用为音频单元.
除此之外的任何帮助都会有所帮助.
我正在制作音乐游戏,当用户按下音符时,它会发出声音.当用户按下时,声音自然需要立即播放,因此他们可以判断它们是否与音乐同步.然而,感觉好像声音滞后,特别是当音符按下变得更快时.
我的背景.m4a音乐文件是用AVAudioPlayer播放的.我选择在Cocos Denshion上使用它,因为我可以访问currentTime属性.我可能错了,但我不认为我可以使用CocosDenshion访问它.
我制作了一个非常短(不到一秒钟)的.wav文件.我在init上预加载我的声音效果:
[[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];
Run Code Online (Sandbox Code Playgroud)
然后播放音效,在CCTouchesBegan我打电话:
[[SimpleAudioEngine sharedEngine] playEffect:@"Assist.wav"];
Run Code Online (Sandbox Code Playgroud)
之后,它调用我的代码来确定用户的时间和奖励积分.知道为什么它可能会滞后,或者更好的方式与音乐一起播放音效?
编辑:我最近尝试了一些没有结果的事情.首先,我尝试在歌曲中适当的时间自动播放声音.仍然有滞后,所以我不认为触摸事件是缓慢的.我还尝试了3种不同的声音库.
但是,当我在模拟器中跑步时,似乎并不是很迟钝.有没有人有想法?我一无所知,这是我无法真正拿出来的一大特色......
我刚刚完成了非常有用的begginers教程 http://www.riemers.net/eng/Tutorials/XNA/Csharp/series2d.php并对结果非常满意.
但是,我注意到通过使用3个.wav文件进行声音效果,游戏速度大幅减慢,我已经调整了这段代码:
if (keybState.IsKeyDown(Keys.Enter) || keybState.IsKeyDown(Keys.Space))
{
if (!rocketFlying) launch.Play();
rocketFlying = true;
...
}
Run Code Online (Sandbox Code Playgroud)
当按下按钮时,它会播放启动声音效果,因为更新方法每秒检查60次,并且很难快速按下按钮,所以它现在只播放一次.
但是,它仍然会大幅减慢游戏速度,这显然并不理想.
显然,我并没有尝试对这个特定的游戏做任何事情,但我想知道如何为未来的项目解决这个问题,只是因为它有点刺激.
干杯瑞恩
我正在制作一个基于Java的游戏,我想添加一些声音效果.我搜查了一下,发现自己更加困惑.我知道编码因文件格式而异.我只需要一些声音 - 无论哪种格式都无关紧要.所以请建议我最简单的文件格式.代码段非常有用.
什么是最简单的格式和提供音效的方法?
我想在 mp3 中添加旋转 3d 效果(Haas 效果)。我的意思是,当通过耳机收听时,音频似乎会周期性地从左到右改变其方向,反之亦然(如下所示)。为此,我在网上搜索了一下,尝试通过以下方式实现:
第 1 步:拆分音频通道:
ffmpeg -i D:\ffmpeg\Down.mp3 -map_channel 0.0.0 D:\ffmpeg\L.mp3 -map_channel 0.0.1 D:\ffmpeg\R.mp3
Run Code Online (Sandbox Code Playgroud)
词干 2:将左声道拆分为多个部分:
注意:我们只会改变左声道的速度,所以我们将左声道分成 4 秒部分。
ffmpeg -i D:\ffmpeg\L.mp3 -f segment -segment_time 4 D:\ffmpeg\Split\%03d.mp3
Run Code Online (Sandbox Code Playgroud)
第 3 步:改变每个部分的速度
现在我们改变每个部分的速度(速度),这样感觉就像声音从左到右移动,反之亦然
ffmpeg -y -i D:\ffmpeg\Split\000.mp3 -af atempo=1.0008 D:\ffmpeg\Modi\000.mp3
ffmpeg -y -i D:\ffmpeg\Split\001.mp3 -af atempo=1.0000 D:\ffmpeg\Modi\001.mp3
ffmpeg -y -i D:\ffmpeg\Split\002.mp3 -af atempo=0.9992 D:\ffmpeg\Modi\002.mp3
ffmpeg -y -i D:\ffmpeg\Split\003.mp3 -af atempo=1.0000 D:\ffmpeg\Modi\003.mp3
ffmpeg -y -i D:\ffmpeg\Split\004.mp3 -af atempo=1.0008 D:\ffmpeg\Modi\004.mp3
ffmpeg …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我的Silverlight for Windows Phone 7应用程序中播放音频.我有一个MP3音频文件,其构建操作设置为资源.要播放声音,我使用:
SoundEffectInstance sfi = null;
...
Stream source = Application.GetResourceStream(new Uri("/Bird Calls;component/Crow.mp3", UriKind.Relative)).Stream;
Microsoft.Xna.Framework.Audio.SoundEffect effect = SoundEffect.FromStream(source);
sfi = effect.CreateInstance();
sfi.Play();
Run Code Online (Sandbox Code Playgroud)
此代码在SoundEffect.FromStream方法中抛出InvalidOperationException.
c# audio invalidoperationexception windows-phone-7 soundeffect