love.sound.newSoundData (Français)
Crée un nouveau SoundData (données sonores) depuis un chemin de fichier, File (fichier), ou Decoder (décodeur). Il est également possible de créer un SoundData avec un taux d'échantillonnage, cannaux et profondeur de bits personnalisés.
Les données du son seront décodés en mémoire dans un format brut. Il est recommandé de ne créer que des sons courts, tels que des effets, comme une chanson de 3 minutes utilise 30 Mo de mémoire avec cette méthode.
Fonction
Synopsis
soundData = love.sound.newSoundData( filename )
Arguments
string (Français) filename
- Nom du fichier à charger.
Retourne
SoundData (Français) soundData
- Nouvel objet SoundData.
Fonction
Synopsis
soundData = love.sound.newSoundData( file )
Arguments
File (Français) file
- Objet File pointant sur un fichier audio.
Retourne
SoundData (Français) soundData
- Nouvel objet SoundData.
Fonction
Synopsis
soundData = love.sound.newSoundData( decoder )
Arguments
Decoder (Français) decoder
- Décode les données à l'aide de ce décodeur jusqu'à EOF (fin de fichier).
Retourne
SoundData (Français) soundData
- Nouvel objet SoundData.
Fonction
Synopsis
soundData = love.sound.newSoundData( samples, rate, bits, channels )
Arguments
number (Français) samples
- Nombre total d'échantillons.
number (Français) rate (44100)
- Nombre d'échantillons par seconde
number (Français) bits (16)
- Bits par échantillon (8 ou 16).
number (Français) channels (2)
- Soit 1 pour mono ou 2 pour stéréo.
Retourne
SoundData (Français) soundData
- Nouvel objet SoundData.
Exemples
Charger un SoundData depuis des fichiers
wav = love.sound.newSoundData("doom.wav")
-- Attention : Si doom.mp3 est un fichier volumineux, il prendra
-- beaucoup de temps pour être décodé.
mp3 = love.sound.newSoundData("doom.mp3")
Fonction bip
local rate = 44100 -- échantillons par seconde
local length = 1/32 -- 0,03125 secondes
local tone = 440 -- Hz
local p = math.floor(rate/tone) -- 100 (longueur de l'onde en échantillons)
local soundData = love.sound.newSoundData(length*rate, rate, 16, 1)
for i=0, length*rate-1 do
soundData:setSample(i, i%p<p/2 and 1 or -1) -- La moitié de l'onde est 1, l'autre moitié -1
end
local source = love.audio.newSource(soundData)
local function beep() source:play() end
Call it as:
beep()
Voir également
Autres langues
Dansk –
Deutsch –
English –
Español –
Français –
Indonesia –
Italiano –
Lietuviškai –
Magyar –
Nederlands –
Polski –
Português –
Română –
Slovenský –
Suomi –
Svenska –
Türkçe –
Česky –
Ελληνικά –
Български –
Русский –
Српски –
Українська –
עברית –
ไทย –
日本語 –
正體中文 –
简体中文 –
Tiếng Việt –
한국어
More info