Steamworks-dokumentaatio
Steam Voice
Steam Voice API sisältää toimintoja, joiden avulla voit tallentaa ääntä käyttäjän mikrofonista. Sen avulla voi ottaa käyttöön puhelut tai äänikomennot.

Puhelujen integrointi

Voit lisätä puhelut peliisi seuraavasti:

  • Tallennus
    Kutsu ensin ISteamUser::StartVoiceRecording, jotta voit tallentaa käyttäjän mikrofonin ääntä. Tätä jäsenfunktiota voidaan kutsua milloin tahansa, kun käyttäjä painaa Paina ja puhu -näppäintä tai peli-istunnon alkaessa, jos mikrofonin on tarkoitus tallentaa aina. Voit käyttää jompaakumpaa vaihtoehtoa pelissäsi, mutta ihannetapauksessa käyttäjä voi valita joko jatkuvan tallennuksen tai Paina ja puhu -tallennuksen. Yleensä ei kannata valita oletuksena jatkuvaa tallennusta. Jos peli tukee useampaa kuin neljää pelaajaa, jatkuva tallennusta ei suositella. Kun pelaaja lopettaa Paina ja puhu -tallennuksen tai peli-istunto päättyy, lopeta tallennus kutsumalla ISteamUser::StopVoiceRecording.

    Jos käyttäjä käyttää Paina ja puhu -puhelua, voit kutsua ISteamFriends::SetInGameVoiceSpeaking-jäsenfunktiota tallennuksen alussa ja lopussa. Näin voit mykistää puhelun, joka käyttäjällä voi olla päällä Steam-kaverit-käyttöliittymässä. Parhaassa tapauksessa pelaajat voivat ottaa tämän toiminnon tai poistaa sen käytöstä.

    Kun tallennus on alkanut, tee ISteamUser::GetAvailableVoice-kutsu, jotta jokainen kehys tarkistaa, onko pakattuja äänitietoja saatavina. Jos äänitietoja on saatavina, nouda uusin äänitieto mikrofonilta ISteamUser::GetVoice-jäsenfunktiolla.
  • Lähettäminen
    Kun olet noutanut äänidatan, voit lähettää ne muille pelaajille. Steam Voice -ohjelmointirajapinta ei sisällä toimintoja tämän tekemiseen suoraan, mutta voit käyttää apuna verkkokirjastoa. Steamin vertaisverkoston ohjelmointirajapinnat sopivat tähän hyvin.
  • Vastaanottaminen
    Kun kohdekäyttäjät vastaanottavat äänitietoja, he muuntavat pakatut tiedot takaisin ääneksi kutsumalla ISteamUser::DecompressVoice.
    Voit valinnaisesti käyttää ISteamUser::GetVoiceOptimalSampleRate-jäsenfunktiota, jolla voit tarkistaa Steam Voicen pakkauksen purun näytteenottotaajuuden ennen kuin kutsut ISteamUser::DecompressVoice-jäsenfunktiota. Tämä vähentää prosessorin käyttöä, mutta äänen laatu saattaa kärsiä.

Esimerkki

Steamworks-ohjelmointirajapinnan esimerkkisovellus (SpaceWar) sisältää korkealaatuisen Steam Voice -ohjelmointirajapintatoteutuksen. Oleelliset osat ovat saatavilla voicechat.cpp/h-tiedostoissa.

Onko sinulla kysyttävää?

Voit tutustua vastauksiin ja esittää kysymyksiä Steamworksin kehittäjien keskustelupalstalla.