Unduh aplikasi
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Telusuri hingga 128 potongan dalam data RIFF WAVE sepanjang 12–1048576 bita yang ukurannya tepat sesuai deklarasi. Uji potongan tak dikenal dan pengisi panjang ganjil, lalu tolak header atau muatan terpotong tanpa mendekode audio.
Pilih folder dan minta asisten membaca berkas terkait sebelum mengeditnya. Tentukan tujuan serta batas tugas.
Pilih endpoint yang kompatibel. Alat yang tersedia dan kualitas jawaban bergantung pada model serta server yang digunakan.
Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
def riff_chunks(wire):
if type(wire) is not bytes or not 12 <= len(wire) <= 1048576:
raise ValueError("riff.input")
if wire[:4] != b"RIFF" or wire[8:12] != b"WAVE" or int.from_bytes(wire[4:8], "little")+8 != len(wire):
raise ValueError("riff.header")
chunks, pos = [], 12
while pos < len(wire):
if len(chunks) == 128 or pos+8 > len(wire):
raise ValueError("riff.chunk")
tag = wire[pos:pos+4]
size = int.from_bytes(wire[pos+4:pos+8], "little")
start, stop = pos+8, pos+8+size
next_pos = stop+(size & 1)
if next_pos > len(wire):
raise ValueError("riff.truncated")
chunks.append((tag, wire[start:stop]))
pos = next_pos
return chunks
Tinjau sebelum menerapkan. Tinjau perubahan dan keluaran perintah. Jalankan pemeriksaan proyek sebelum menerima hasilnya; kode yang dihasilkan tidak otomatis sudah diuji.