mirror of
https://github.com/love2d/love.git
synced 2026-08-21 21:15:09 +02:00
Remove playmuted audio configuration
This commit is contained in:
+2
-2
@@ -67,12 +67,12 @@ void vibrate();
|
|||||||
/**
|
/**
|
||||||
* Enable mix mode (e.g. with background music apps) and playback with a muted device.
|
* Enable mix mode (e.g. with background music apps) and playback with a muted device.
|
||||||
**/
|
**/
|
||||||
void setAudioMixWithOthers(bool mixMode, bool playMuted);
|
void setAudioMixWithOthers(bool mixEnabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns whether another application is playing audio.
|
* Returns whether another application is playing audio.
|
||||||
**/
|
**/
|
||||||
bool audioShouldBeSilenced();
|
bool hasBackgroundMusic();
|
||||||
|
|
||||||
} // ios
|
} // ios
|
||||||
} // love
|
} // love
|
||||||
|
|||||||
+8
-17
@@ -345,35 +345,26 @@ void vibrate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setAudioMixWithOthers(bool mixMode, bool playMuted)
|
void setAudioMixWithOthers(bool mixEnabled)
|
||||||
{
|
{
|
||||||
@autoreleasepool
|
@autoreleasepool
|
||||||
{
|
{
|
||||||
NSString *category = AVAudioSessionCategoryPlayback;
|
NSString *category = AVAudioSessionCategorySoloAmbient;
|
||||||
AVAudioSessionCategoryOptions options = 0;
|
NSError *err;
|
||||||
NSError *err = nil;
|
|
||||||
|
|
||||||
if (mixMode)
|
if (mixEnabled)
|
||||||
{
|
|
||||||
if (playMuted)
|
|
||||||
options = AVAudioSessionCategoryOptionMixWithOthers;
|
|
||||||
else
|
|
||||||
category = AVAudioSessionCategoryAmbient;
|
category = AVAudioSessionCategoryAmbient;
|
||||||
}
|
|
||||||
else if (!playMuted)
|
|
||||||
{
|
|
||||||
category = AVAudioSessionCategorySoloAmbient;
|
|
||||||
}
|
|
||||||
|
|
||||||
[[AVAudioSession sharedInstance] setCategory:category withOptions:options error:&err];
|
if (![[AVAudioSession sharedInstance] setCategory:category error:&err])
|
||||||
if (err != nil)
|
|
||||||
NSLog(@"Error in AVAudioSession setCategory: %@", [err localizedDescription]);
|
NSLog(@"Error in AVAudioSession setCategory: %@", [err localizedDescription]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool audioShouldBeSilenced()
|
bool hasBackgroundMusic()
|
||||||
{
|
{
|
||||||
|
if ([[AVAudioSession sharedInstance] respondsToSelector:@selector(secondaryAudioShouldBeSilencedHint)])
|
||||||
return [[AVAudioSession sharedInstance] secondaryAudioShouldBeSilencedHint];
|
return [[AVAudioSession sharedInstance] secondaryAudioShouldBeSilencedHint];
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // ios
|
} // ios
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ int w_getDistanceModel(lua_State *L)
|
|||||||
#ifdef LOVE_IOS
|
#ifdef LOVE_IOS
|
||||||
int w_setMixMode(lua_State *L)
|
int w_setMixMode(lua_State *L)
|
||||||
{
|
{
|
||||||
love::ios::setAudioMixWithOthers(lua_toboolean(L, 1), lua_toboolean(L, 2));
|
love::ios::setAudioMixWithOthers(lua_toboolean(L, 1));
|
||||||
#else
|
#else
|
||||||
int w_setMixMode(lua_State *)
|
int w_setMixMode(lua_State *)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -189,9 +189,9 @@ bool System::hasBackgroundMusic() const
|
|||||||
#if defined(LOVE_ANDROID)
|
#if defined(LOVE_ANDROID)
|
||||||
return love::android::hasBackgroundMusic();
|
return love::android::hasBackgroundMusic();
|
||||||
#elif defined(LOVE_IOS)
|
#elif defined(LOVE_IOS)
|
||||||
return love::ios::audioShouldBeSilenced();
|
return love::ios::hasBackgroundMusic();
|
||||||
#else
|
#else
|
||||||
throw love::Exception("Unsupported platform.");
|
return false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -95,14 +95,7 @@ int w_vibrate(lua_State *L)
|
|||||||
|
|
||||||
int w_hasBackgroundMusic(lua_State *L)
|
int w_hasBackgroundMusic(lua_State *L)
|
||||||
{
|
{
|
||||||
try
|
|
||||||
{
|
|
||||||
lua_pushboolean(L, instance()->hasBackgroundMusic());
|
lua_pushboolean(L, instance()->hasBackgroundMusic());
|
||||||
}
|
|
||||||
catch (love::Exception &)
|
|
||||||
{
|
|
||||||
lua_pushnil(L);
|
|
||||||
}
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -374,8 +374,7 @@ function love.init()
|
|||||||
video = true,
|
video = true,
|
||||||
},
|
},
|
||||||
audio = {
|
audio = {
|
||||||
mixmode = true,
|
mixwithsystem = true, -- Only relevant for Android / iOS.
|
||||||
playmuted = false,
|
|
||||||
},
|
},
|
||||||
console = false, -- Only relevant for windows.
|
console = false, -- Only relevant for windows.
|
||||||
identity = false,
|
identity = false,
|
||||||
@@ -495,7 +494,7 @@ function love.init()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if love.audio then
|
if love.audio then
|
||||||
love.audio.setMixMode(c.audio.mixmode, c.audio.playmuted)
|
love.audio.setMixMode(c.audio.mixwithsystem)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Our first timestep, because window creation can take some time
|
-- Our first timestep, because window creation can take some time
|
||||||
|
|||||||
@@ -683,9 +683,10 @@ const unsigned char boot_lua[] =
|
|||||||
0x09, 0x09, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a,
|
0x09, 0x09, 0x09, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a,
|
||||||
0x09, 0x09, 0x7d, 0x2c, 0x0a,
|
0x09, 0x09, 0x7d, 0x2c, 0x0a,
|
||||||
0x09, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x20, 0x3d, 0x20, 0x7b, 0x0a,
|
0x09, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x20, 0x3d, 0x20, 0x7b, 0x0a,
|
||||||
0x09, 0x09, 0x09, 0x6d, 0x69, 0x78, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x0a,
|
0x09, 0x09, 0x09, 0x6d, 0x69, 0x78, 0x77, 0x69, 0x74, 0x68, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x20, 0x3d,
|
||||||
0x09, 0x09, 0x09, 0x70, 0x6c, 0x61, 0x79, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c,
|
0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x2d, 0x2d, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x6c,
|
||||||
0x73, 0x65, 0x2c, 0x0a,
|
0x65, 0x76, 0x61, 0x6e, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x20,
|
||||||
|
0x2f, 0x20, 0x69, 0x4f, 0x53, 0x2e, 0x0a,
|
||||||
0x09, 0x09, 0x7d, 0x2c, 0x0a,
|
0x09, 0x09, 0x7d, 0x2c, 0x0a,
|
||||||
0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c,
|
0x09, 0x09, 0x63, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c,
|
||||||
0x20, 0x2d, 0x2d, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20,
|
0x20, 0x2d, 0x2d, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20,
|
||||||
@@ -914,9 +915,8 @@ const unsigned char boot_lua[] =
|
|||||||
0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x20, 0x74, 0x68, 0x65,
|
0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x20, 0x74, 0x68, 0x65,
|
||||||
0x6e, 0x0a,
|
0x6e, 0x0a,
|
||||||
0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x2e, 0x73, 0x65, 0x74, 0x4d, 0x69,
|
0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x2e, 0x73, 0x65, 0x74, 0x4d, 0x69,
|
||||||
0x78, 0x4d, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x2e, 0x6d, 0x69, 0x78, 0x6d,
|
0x78, 0x4d, 0x6f, 0x64, 0x65, 0x28, 0x63, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x2e, 0x6d, 0x69, 0x78, 0x77,
|
||||||
0x6f, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x2e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x2e, 0x70, 0x6c, 0x61, 0x79, 0x6d,
|
0x69, 0x74, 0x68, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x29, 0x0a,
|
||||||
0x75, 0x74, 0x65, 0x64, 0x29, 0x0a,
|
|
||||||
0x09, 0x65, 0x6e, 0x64, 0x0a,
|
0x09, 0x65, 0x6e, 0x64, 0x0a,
|
||||||
0x09, 0x2d, 0x2d, 0x20, 0x4f, 0x75, 0x72, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65,
|
0x09, 0x2d, 0x2d, 0x20, 0x4f, 0x75, 0x72, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65,
|
||||||
0x73, 0x74, 0x65, 0x70, 0x2c, 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64,
|
0x73, 0x74, 0x65, 0x70, 0x2c, 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x77, 0x69, 0x6e, 0x64,
|
||||||
|
|||||||
Reference in New Issue
Block a user