繁体   English   中英

ios中的声音音量

[英]Volume of a sound in ios

在我的应用程序中,我将播放声音,因此我在网上查看了如何执行此操作,并且发现应该执行以下操作:

#import <AudioToolbox/AudioToolbox.h>

@property(nonatomic,strong)AVAudioPlayer *player;

NSURL *musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sms_alert_circles" ofType:@"mp3"]];
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

[player setVolume:1.0];

[player prepareToPlay];
[player play];

它可以工作,但是设备可以再现我浸湿但音量很小的声音,因此我更改了这一行: [player setVolume:1.0]; [player setVolume:100.0]; ,但没有任何反应。 因此,我尝试戴上耳机,然后尝试播放此声音,并使用耳机听到的声音很好(说实话有点太多)。 为什么我使用iPhone的扬声器听到非常低的声音? 为什么使用耳机可以听到相同音量的声音? 怎么了?

你尝试过这个吗

将MediaPlayer.framework添加到您的项目目标

#import <MediaPlayer/MediaPlayer.h>

[[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];

谢谢!

实际体积在0.01.0之间。

除此之外,您可能必须编辑文件本身。

确保与系统的体积

import #import <MediaPlayer/MediaPlayer.h>
    [[MPMusicPlayerController applicationMusicPlayer] setVolume:1.0];//set system vol to max

一件事是音量仅从0.0 to 1.0 ONLY变化。

#import <AudioToolbox/AudioToolbox.h>

@property(nonatomic,strong)AVAudioPlayer *player;

NSURL *musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"sms_alert_circles" ofType:@"mp3"]];
    player = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

UInt32 doChangeDefaultRoute = 1;
        AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof (doChangeDefaultRoute), &doChangeDefaultRoute);

[player setVolume:1.0];

[player prepareToPlay];
[player play];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM