Skip to content

Props ​

WaveformRecorderView nhận các props dưới đây cùng các props chuẩn của View như style và testID. Hãy đặt chiều cao cho view, vì view không có kích thước tự nhiên. Các props sự kiện nằm ở trang Sự kiện. Kiểu dữ liệu có trong tài liệu API.

Đầu ra ​

Mọi thiết lập đầu ra nằm trong một prop lồng nhau là output. Trường nào cũng không bắt buộc.

tsx
<WaveformRecorderView
  output={{ format: 'm4a', sampleRate: 44100, channels: 1, bitrate: 128000, quality: 'high' }}
/>
TrườngKiểuMặc địnhGhi chú
uristringMột tệp trong thư mục cacheURI file:// cho bản ghi. Chỉ dùng cho bản ghi có một đoạn; xem Đoạn ghi.
format'm4a' | 'aac' | 'wav' | 'opus''m4a'Xem Định dạng.
sampleRatenumber44100Tính bằng Hz.
channels1 | 21
bitratenumber128000Bit mỗi giây. Bỏ qua với wav. Trên Android bị giới hạn theo quality.
quality'low' | 'medium' | 'high''high'Chất lượng encoder trên iOS, khoảng bitrate trên Android.

Giới hạn và nhịp đo ​

PropKiểuMặc địnhGhi chú
maxDurationMsnumber0Tự dừng khi đạt mốc: onMaxDurationReached được gọi, rồi đến onComplete. 0 là không giới hạn.
minDurationMsnumber0Nếu gọi stop() khi bản ghi ngắn hơn mức này, bản ghi sẽ bị bỏ: trạng thái về idle và onError được gọi với code 'min-duration'.
meterUpdatesPerSecondnumber30Tần suất đọc mức âm và gọi onMeter. Giới hạn trong khoảng 1 đến 120.
samplesPerSecondnumber12Số cột thêm vào mỗi giây. Cột được thêm vào ở một nhịp đo mức âm, nên không thể vượt meterUpdatesPerSecond.

Cột ​

PropKiểuMặc địnhGhi chú
playedBarColorColorValuetrắngMàu cột khi đang ghi, và phần đã phát khi nghe lại.
unplayedBarColorColorValuetrắng, độ mờ 50%Phần chưa phát khi nghe lại.
futureBarColorColorValueunplayedBarColor, trong hơnMàu của các vạch giữ chỗ futureBarStyle.
barWidthnumber3Tính bằng dp hoặc point.
barGapnumber2Tính bằng dp hoặc point.
barRadiusnumber-1Bo góc. Số âm nghĩa là barWidth / 2.
futureBarStyle'hidden' | 'dot' | 'line''hidden'Thứ lấp vào các ô trống bên trái trước khi cột chạy tới.
recordingMode'scroll' | 'morph' | 'centered''scroll'Mới chỉ có 'scroll'. Các giá trị còn lại hiển thị giống 'scroll'.
newSampleEntry'grow' | 'fade' | 'none''grow'Hiện tại mọi giá trị đều dùng hiệu ứng mọc lên.

Khung và đồng hồ ​

PropKiểuMặc địnhGhi chú
containerBackgroundColorColorValue#3478F6Nền của khung.
containerBorderRadiusnumber16
showBackgroundbooleantrueĐặt false để chỉ vẽ cột và đồng hồ lên nền của riêng bạn.
showTimebooleantrueNhãn m:ss bên phải.
timeColorColorValuetrắng
timeMode'count-up' | 'count-down''count-up''count-down' hiển thị thời gian còn lại tới maxDurationMs khi đang ghi, và thời gian còn lại của tệp khi nghe lại. Nếu không có maxDurationMs thì vẫn đếm lên khi đang ghi.

Màu mặc định là cột trắng trên khung xanh. Nếu đặt showBackground={false} trên màn hình sáng, hãy đổi luôn playedBarColor, unplayedBarColor và timeColor.

Nghe lại ​

PropKiểuMặc địnhGhi chú
enablePreviewbooleantrueKhi là false, enterPreview() gọi onError với code 'preview-disabled'.
enableContinueRecordingbooleantrueKhi là false, resume() từ chế độ nghe lại gọi onError với code 'continue-disabled'.
showPlayButtonbooleantrueNút phát và tạm dừng trong khung khi nghe lại.
playButtonColorColorValuetrắng

Cử chỉ ​

PropKiểuMặc địnhGhi chú
enableSlideToCancelbooleanfalseGọi onSlideCancel sau khi kéo sang trái. Bạn tự gọi cancel().
slideToCancelThresholdDpnumber80Khoảng cách ngang, tính bằng dp hoặc point.
enableSlideToLockbooleanfalseGọi onSlideLock sau khi kéo lên.
slideToLockThresholdDpnumber80Khoảng cách dọc, tính bằng dp hoặc point.

Xem Cử chỉ trượt.

Luồng PCM ​

PropKiểuMặc địnhGhi chú
enablePcmStreambooleanfalseGọi onPcmChunk trong lúc ghi. Chỉ dùng được với output.format = 'wav'.
pcmChunkMsnumber200Độ dài gần đúng của mỗi chunk, tính bằng ms, tối thiểu 20.

Xem Luồng PCM.

Ghi âm khi chạy nền ​

PropKiểuMặc địnhGhi chú
backgroundRecordingbooleanfalseCần thiết lập native, xem Cài đặt.
backgroundNotificationTitlestring'Recording'Chỉ Android.
backgroundNotificationBodystring'Microphone recording in progress.'Chỉ Android.

Phát hiện khoảng lặng ​

PropKiểuMặc địnhGhi chú
silenceThresholdDbnumber-160Mức dBFS mà dưới đó âm thanh được coi là im lặng. Giá trị mặc định không bao giờ kích hoạt.
silenceTimeoutMsnumber0Thời gian mức âm phải nằm dưới ngưỡng. 0 là tắt tính năng.
autoStopOnSilencebooleanfalseDừng và hoàn tất bản ghi khi phát hiện khoảng lặng.

Đặt cả silenceThresholdDb lẫn silenceTimeoutMs để bật tính năng. Xem Phát hiện khoảng lặng.

Trạng thái có kiểm soát ​

state là chế độ controlled đang thử nghiệm. Khi đặt prop này, các phương thức của ref không còn chuyển trạng thái nữa mà chỉ báo trạng thái được yêu cầu qua onStateChange, và việc đổi prop cũng không bắt đầu hay dừng ghi âm. Hãy để trống prop này và dùng các phương thức của ref.

Phát hành theo giấy phép MIT.