GKVoiceChat
Оператор импорта
Swift
import GameKit
Objective C
@import GameKit;
Доступность
Доступный в iOS 4.1 и позже.
A GKVoiceChat
объект обеспечивает речевой канал, позволяющий ряду проигрывателей в соответствии говорить друг с другом.
В игре iOS, прежде чем можно будет использовать голосовой чат, игра должна сконфигурировать аудио сеанс, допускающий и игру и записывающий (kAudioSessionCategory_PlayAndRecord
). Для получения дополнительной информации об аудио сеансах см. Аудио Руководство по программированию Сеанса.
Вы используете GKMatch
объект создать голосовой чат образовывает канал путем вызова voiceChatWithName:
метод, передающий в строке, идентифицирующей имя канала, к которому Вы хотите присоединиться. Имя никогда не выводится на экран GameKit, и Вы свободны назвать каналы, однако, Вам нравится. Можно создать многократные каналы для того же соответствия. Например, если соответствие имеет многократные команды, Вы могли бы создать отдельный канал для каждой команды и дополнительный канал, содержащий все проигрыватели в соответствии.
Для подключения плеера к каналу вызовите объект голосового чата start
метод. После того, как канал запускается, он получает речевую информацию от других проигрывателей уже в канале. Чтобы позволить проигрывателю говорить в канале, установите объект голосового чата active
свойство к YES
true
. Проигрыватель может слушать многократные каналы одновременно, но может только говорить об одном канале в любой момент времени.
Ваша игра использует volume
свойство для установки уровня громкости для всего канала, и setPlayer:muted:
метод для выборочного отключения звука других проигрывателей в канале.
Если существует недостаточная пропускная способность по Wi-Fi для поддержания голосового чата, GameKit может разъединить индивидуальных игроков от канала или расформировать канал полностью.
-
Возвраты, может ли голосовой чат использоваться на устройстве.
Объявление
Swift
class func isVoIPAllowed() -> Bool
Objective C
+ (BOOL)isVoIPAllowed
Возвращаемое значение
YES
true
если голосовой чат доступен игре.Обсуждение
Некоторые страны или телефонные поставщики услуг могут ограничить доступность служб речи по IP. Прежде, чем создать a
GKVoiceChat
объект, Ваша игра должна сначала проверить, чтобы видеть, разрешена ли речь по IP на устройстве.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.1 и позже.
-
Запускает связь с другими участниками канала.
Объявление
Swift
func start()
Objective C
- (void)start
Обсуждение
Когда
start
вызывается, приложение сначала подтверждает, что имеет разрешение использовать микрофон. Если это - первый раз, когда приложение попыталось получить доступ к микрофону, раскрывающиеся запросы пользователь для их разрешения использовать голосовой чат. Если пользователь отклоняет разрешение, активный флаг остаетсяNO
false
и доступ не предоставляется.После того, как разрешение дано пользователем, подключениями объекта голосового чата к каналу и уведомляет другие плееры, подключенные к каналу, что местный игрок присоединился к чату. В то время как соединено, речевая информация от других проигрывателей играется автоматически. Если плеер подключается к каналу и объект голосового чата
active
свойствоYES
true
, тогда микрофон выбирается, и данные отправляются в канал.Когда устройство имеет микрофон и подключается через Wi-Fi, устройство только соединяется с каналом. Когда устройство не в настоящее время способно к использованию голосового чата, Однако Ваша игра может сконфигурировать и запустить канал голосового чата. Если условия изменяются для разрешения голосового чата — например, подключения устройства к сети Wi-Fi —
GKVoiceChat
возразите тогда автоматически соединяется с каналом.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
Связь концов с каналом.
Объявление
Swift
func stop()
Objective C
- (void)stop
Обсуждение
Когда
stop
вызывается, разъединения объекта голосового чата от канала. Необходимо вызватьstop
на канале, прежде чем расположен объект голосового чата.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.0 и позже.
См. также
-
active
СвойствоБулево значение, утверждающее, выбирает ли канал микрофон.
Объявление
Swift
var active: Bool
Objective C
@property(assign, getter=isActive, nonatomic) BOOL active
Обсуждение
Когда
active
YES
true
, голосовой чат выбирает микрофон и передает речевую информацию к другим плеерам, подключенным к каналу. Значение по умолчаниюNO
false
.Только один
GKVoiceChat
объекту позволяют выбрать микрофон в любой момент времени. Когда Ваша игра устанавливаетactive
свойство кYES
true
на объекте голосового чата предыдущий голосовой чат возражает, что владел микрофоном (если был один), устанавливаетactive
свойство кNO
false
.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.0 и позже.
-
playerVoiceChatStateDidChangeHandler
СвойствоБлок, который вызывают, когда участник изменяет состояние.
Объявление
Swift
var playerVoiceChatStateDidChangeHandler: ((GKPlayer!, GKVoiceChatPlayerState) -> Void)!
Objective C
@property(copy, nonatomic) void (^playerVoiceChatStateDidChangeHandler)( GKPlayer *player, GKVoiceChatPlayerState state)
Обсуждение
Ваша игра устанавливает это свойство с блоком, который вызовут когда состояние любого участника изменений чата (включая местного игрока). Блок получает следующие параметры:
player
GKPlayer
объект, идентифицирующий проигрыватель, состояние которого изменилось.state
Новое состояние проигрывателя. Посмотрите
Player Voice Chat States
.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 8.0 и позже.
-
Блок, который вызывают, когда участник изменяет состояние.
Объявление
Swift
var playerStateUpdateHandler: ((String!, GKVoiceChatPlayerState) -> Void)!
Objective C
@property(copy, nonatomic) void (^playerStateUpdateHandler)( NSString *playerID, GKVoiceChatPlayerState state)
Обсуждение
Ваша игра устанавливает это свойство с блоком, который вызовут когда состояние любого участника изменений чата (включая местного игрока). Блок получает следующие параметры:
playerID
Идентификатор проигрывателя для проигрывателя, состояние которого изменилось.
state
Новое состояние проигрывателя. Посмотрите
Player Voice Chat States
.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.1 и позже.
Осуждаемый в iOS 8.0.
-
setMute (_: forPlayer:) - setMute:forPlayer:
(iOS 8.0)Отключает звук участника чата.
Объявление
Swift
func setMute(_
isMuted
: Bool, forPlayerplayer
: String!)Objective C
- (void)setMute:(BOOL)
isMuted
forPlayer:(NSString *)player
Параметры
isMuted
Определяет, должен ли проигрыватель быть отключен звук или нет.
player
Строка идентификатора проигрывателя для проигрывателя в соответствии.
Обсуждение
Когда проигрыватель отключен звук, местный игрок не слышит речевой информации, переданной тем проигрывателем.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 5.0 и позже.
Осуждаемый в iOS 8.0.
-
Отключает звук участника чата.
Объявление
Swift
func setPlayer(_
player
: GKPlayer!, mutedisMuted
: Bool)Objective C
- (void)setPlayer:(GKPlayer *)
player
muted:(BOOL)isMuted
Параметры
player
GKPlayer
объект, идентифицирующий проигрыватель, который будет отключен звук.isMuted
Определяет, должен ли проигрыватель быть отключен звук или нет.
Обсуждение
Когда проигрыватель отключен звук, местный игрок не слышит речевой информации, переданной тем проигрывателем.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 8.0 и позже.
-
volume
СвойствоУровень громкости для речевого канала.
Объявление
Swift
var volume: Float
Objective C
@property(assign, nonatomic) float volume
Обсуждение
Вся речевая информация, полученная от других участников, смешивается и затем масштабируется
volume
свойство.volume
свойство имеет диапазон между0.0
и1.0
, включительно. Уровень громкости0.0
означает, что весь канал отключен звук; значение1.0
речевые выборки игр в полном объеме. Значение по умолчанию1.0
.Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.0 и позже.
-
name
Свойство -
players
СвойствоМассив
GKPlayer
объекты, содержащие идентификаторы проигрывателя для проигрывателей, соединились с каналом. (только для чтения)Объявление
Swift
var players: [AnyObject]! { get }
Objective C
@property(readonly, nonatomic) NSArray *players
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 8.0 и позже.
-
Массив
NSString
объекты, содержащие идентификаторы проигрывателя для проигрывателей, соединились с каналом. (только для чтения)Объявление
Swift
var playerIDs: [AnyObject]! { get }
Objective C
@property(readonly, nonatomic) NSArray *playerIDs
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 5.0 и позже.
Осуждаемый в iOS 8.0.
Типы данных
-
Состояния возвратились к Вашей игре о других проигрывателях в голосовом чате.
Объявление
Swift
enum GKVoiceChatPlayerState : Int { case Connected case Disconnected case Speaking case Silent case Connecting }
Objective C
enum { GKVoiceChatPlayerConnected, GKVoiceChatPlayerDisconnected, GKVoiceChatPlayerSpeaking, GKVoiceChatPlayerSilent, GKVoiceChatPlayerConnecting }; typedef NSInteger GKVoiceChatPlayerState;
Константы
-
Connected
GKVoiceChatPlayerConnected
Проигрыватель соединился с каналом.
Доступный в iOS 4.0 и позже.
-
Disconnected
GKVoiceChatPlayerDisconnected
Проигрыватель оставил канал.
Доступный в iOS 4.0 и позже.
-
Speaking
GKVoiceChatPlayerSpeaking
Проигрыватель начал говорить.
Доступный в iOS 4.0 и позже.
-
Silent
GKVoiceChatPlayerSilent
Проигрыватель прекратил говорить.
Доступный в iOS 4.0 и позже.
-
Connecting
GKVoiceChatPlayerConnecting
Плеер соединяется с каналом, но еще не подключается.
Доступный в iOS 6.0 и позже.
Оператор импорта
Objective C
@import GameKit;
Swift
import GameKit
Доступность
Доступный в iOS 4.0 и позже.
-