[page:Object3D] →

# [name]

يقوم بإنشاء كائن صوتي غير موضعي (عام).
يستخدم هذا [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].

## مثال التعليمة البرمجية

`// create an AudioListener and add it to the camera const listener = new THREE.AudioListener(); camera.add( listener ); // create a global audio source const sound = new THREE.Audio( listener ); // load a sound and set it as the Audio object's buffer const audioLoader = new THREE.AudioLoader(); audioLoader.load( 'sounds/ambient.ogg', function( buffer ) { sound.setBuffer( buffer ); sound.setLoop( true ); sound.setVolume( 0.5 ); sound.play(); });`

## أمثلة (Examples)

[example:webaudio_sandbox webaudio / sandbox ]
[example:webaudio_visualizer webaudio / visualizer ]

## المنشئ (Constructor)

### [name]( [param:AudioListener listener] )

listener — (ضرورية) كائن [page:AudioListener AudioListener].

## الخصائص (Properties)

### [property:Boolean autoplay]

ما إذا كان سيتم بدء التشغيل تلقائيًا. الافتراضي هو *false*.

### [property:AudioContext context]

الـ[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] من [page:AudioListener listener] المعطاة في المنشئ.

### [property:Number detune]

تعديل درجة الصوت ، مقاسة بالسنت. +/- 100 نصف نغمة. +/- 1200 هو *octave*. الافتراضي هو *0*.

### [property:Array filters]

Represents an array of [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioNode AudioNodes]. Can be used to apply a variety of low-order filters to create more complex sound effects. In most cases, the array contains instances of [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]. Filters are set via [page:Audio.setFilter] or [page:Audio.setFilters].

### [property:GainNode gain]

[link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode] تم إنشاؤه باستخدام [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]().

### [property:Boolean hasPlaybackControl]

ما إذا كان يمكن التحكم في التشغيل باستخدام طرق [page:Audio.play play]() و [page:Audio.pause pause]() وما إلى ذلك. الافتراضي هو *true*.

### [property:Boolean isPlaying]

ما إذا كان الصوت قيد التشغيل حاليًا.

### [property:AudioListener listener]

مرجع إلى كائن المستمع لهذا الصوت.

### [property:Number playbackRate]

سرعة التشغيل. الافتراضي هو *1*.

### [property:Number offset]

إزاحة للوقت الذي يجب أن يبدأ فيه التشغيل داخل المخزن المؤقت للصوت. مثل المعلمة *offset* لـ [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). القيمة الافتراضية هي *0*.

### [property:Number duration]

يتجاوز مدة الصوت. مثل المعلمة *duration* لـ[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). الافتراضي هو *undefined* لتشغيل المخزن المؤقت بالكامل.

### [property:AudioNode source]

[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] تم إنشاؤها باستخدام [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().

### [property:String sourceType]

نوع مصدر الصوت. الافتراضي هو السلسلة 'empty'.

### [property:String type]

سلسلة تشير إلى النوع ، مضبوطة على 'Audio'.

## الوظائف (Methods)

### [method:this connect]()

متصل بـ [page:Audio.source]. يستخدم هذا داخليًا عند التهيئة وعند ضبط / إزالة المرشحات.

### [method:this disconnect]()

قطع الاتصال من [page:Audio.source]. يستخدم هذا داخليًا عند تعيين / إزالة المرشحات.

### [method:BiquadFilterNode getFilter]()

إرجاع العنصر الأول من الجدول [page:Audio.filters filters].

### [method:Array getFilters]()

تُرجع جدول (مصفوفة) [page:Audio.filters filters].

### [method:Boolean getLoop]()

تقوم بإرجاع القيمة [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] (ما إذا كان يجب تكرار التشغيل).

### [method:GainNode getOutput]()

ترجع [page:Audio.gain gainNode].

### [method:Float getPlaybackRate]()

ترجع القيمة الخاصة بـ[page:Audio.playbackRate playbackRate].

### [method:Float getVolume]( value )

إعادة الحجم الحالي.

### [method:this play]( delay )

إذا كانت [page:Audio.hasPlaybackControl hasPlaybackControl] تحمل قيمة *true* ، يبدأ التشغيل.

### [method:this pause]()

إذا كانت [page:Audio.hasPlaybackControl hasPlaybackControl] تحمل قيمة *true* ، يقوم بإقاف التشغيل.

### [method:undefined onEnded]()

يتم مناداته تلقائيًا عند انتهاء التشغيل.

### [method:this setBuffer]( audioBuffer )

تقوم بإعداد [page:Audio.source source] إلى *audioBuffer* ، وتقوم بتعيين [page:Audio.sourceType sourceType] إلى 'buffer'.
إذا كان [page:Audio.autoplay autoplay] ، يبدأ التشغيل أيضًا.

### [method:this setFilter]( filter )

Applies a single filter node to the audio.

### [method:this setFilters]( [param:Array value] )

value - arrays of filters.
Applies an array of filter nodes to the audio.

### [method:this setLoop]( [param:Boolean value] )

يضبط [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] على *value* (ما إذا كان يجب تكرار التشغيل).

### [method:this setLoopStart]( [param:Float value] )

يضبط [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart source.loopStart] على *value*.

### [method:this setLoopEnd]( [param:Float value] )

يضبط [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd source.loopEnd] على *value*.

### [method:this setMediaElementSource]( mediaElement )

يطبق الكائن المحدد من النوع [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement] كمصدر لهذا الصوت.
يحدد أيضًا [page:Audio.hasPlaybackControl hasPlaybackControl] إلى false.

### [method:this setMediaStreamSource]( mediaStream )

يطبق الكائن المحدد من النوع [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream] كمصدر لهذا الصوت.
يحدد أيضًا [page:Audio.hasPlaybackControl hasPlaybackControl] إلى false.

### [method:this setNodeSource]( audioNode )

يقوم بإعداد [page:Audio.source source] إلى audioBuffer ، ويقوم بتعيين [page:Audio.sourceType sourceType] على 'audioNode'.
يضبط أيضًا [page:Audio.hasPlaybackControl hasPlaybackControl] إلى false.

### [method:this setPlaybackRate]( [param:Float value] )

إذا تم تمكين [page:Audio.hasPlaybackControl hasPlaybackControl] ، فيتم ضبط [page:Audio.playbackRate playbackRate] على *value*.

### [method:this setVolume]( [param:Float value] )

تضبط مستوى الصوت.

### [method:this stop]()

إذا تم تمكين [page:Audio.hasPlaybackControl hasPlaybackControl] ، فسيتوقف عن التشغيل.

## المصدر (Source)

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]