Hướng dẫn base64 to audio python - base64 sang audio python

Lý do bạn nghe thấy tiếng ồn trắng là vì bạn cố gắng phát dữ liệu âm thanh với mã hóa khác nhau sau đó được mong đợi.

Tôi nghĩ rằng tài liệu không rõ ràng 100% về điều này, nhưng nó nói rằng một đối tượng âm thanh đại diện cho dữ liệu mẫu âm thanh thực tế. Nó có thể được tải từ một tệp hoặc bộ đệm. Rõ ràng, khi sử dụng bộ đệm, nó mong đợi dữ liệu mẫu thô, không phải là một số dữ liệu được mã hóa cơ sở64 (và thậm chí không phải là dữ liệu tệp MP3 hoặc OGG thô). Lưu ý rằng đã có một vấn đề được báo cáo về điều này trên kho lưu trữ GitHub.

Vì vậy, có hai điều bạn có thể làm:

  1. Nhận các byte thô của âm thanh của bạn (ví dụ: sử dụng pygame.mixer.Sound(filename).get_raw() hoặc cho âm thanh đơn giản, bạn có thể tạo chúng về mặt toán học) và giải mã đó ở định dạng Base64.
  2. Bao bọc dữ liệu tệp gốc (MP3/OGG) trong đối tượng byte, là đối tượng giống như tệp, do đó, mô-đun âm thanh sẽ coi nó như một tệp và giải mã đúng.

Lưu ý rằng trong cả hai trường hợp, bạn vẫn cần mã hóa dữ liệu Base64 trước! Mô -đun pygame không tự động làm điều đó cho bạn.in both cases, you still need to base64-decode the data first! The pygame module doesn't automatically do that for you.

Vì bạn muốn một tệp nhỏ, tùy chọn 2 là tốt nhất. Nhưng tôi sẽ đưa ra ví dụ về cả hai giải pháp.

ví dụ 1

Nếu bạn có dữ liệu mẫu thô, bạn có thể sử dụng trực tiếp đó làm đối số buffer cho pygame.mixer.Sound(). Lưu ý rằng dữ liệu mẫu phải khớp với tần số, kích thước bit và số lượng kênh được sử dụng bởi bộ trộn. Sau đây là một ví dụ nhỏ chơi âm sóng hình sin 400 Hz.

import base64
import pygame

# The following bytes object consists of 160 signed 8-bit samples,
# which are base64 encoded, When played at 8000 Hz, it results in a
# tone of 400 Hz. The duration of the sound is 0.02 Hz, so it should
# be looped 50 times per second for longer sounds.
base64_encoded_sound_data = b'''
gKfK5vj/+ObKp39YNRkHAQcZNViAp8rm+P/45sqngFg1GQcBBxk1WI
Cnyub4//jmyqeAWDUZBwEHGTVYf6fK5vj/+ObKp39YNRkHAQcZNViA
p8rm+P/45sqngFg1GQcBBxk1WH+nyub4//jmyqd/WDUZBwEHGTVYf6
fK5vj/+ObKp39YNRkHAQcZNViAp8rm+P/45sqnf1g1GQcBBxk1WA==
'''

pygame.mixer.init(frequency=8000, size=8, channels=1, allowedchanges=0)
sound_data = base64.b64decode(base64_encoded_sound_data)
sound = pygame.mixer.Sound(sound_data)
ch = sound.play(loops=50)
while ch.get_busy():
    pygame.time.wait(100)

Ví dụ 2

Nếu bạn muốn sử dụng tệp MP3 hoặc OGG (thường nhỏ hơn nhiều), bạn có thể làm nó như ví dụ sau

import base64
import io
import pygame

# Your base64-encoded data here.
# NOTE: Do NOT include the "data:audio/ogg;base64," part.
base64_encoded_sound_file_data = b'T2dnUwACAAAAAAAAAACY...'  # Truncated for brevity

pygame.mixer.init()
sound_file_data = base64.b64decode(base64_encoded_sound_file_data)
assert sound_file_data.startswith(b'OggS')  # just to prove it is an Ogg Vorbis file
sound_file = io.BytesIO(sound_file_data)
# The following line will only work with VALID data. With above example data it will fail.
sound = pygame.mixer.Sound(sound_file)
ch = sound.play()
while ch.get_busy():
    pygame.time.wait(100)

Tôi cũng thích sử dụng dữ liệu thực trong ví dụ này, nhưng tệp OGG hữu ích nhỏ nhất mà tôi có thể tìm thấy là 9 kb, sẽ thêm khoảng 120 dòng dữ liệu dài và tôi không nghĩ rằng điều đó phù hợp cho một luồng tràn ngăn xếp ngăn xếp câu trả lời. Nhưng nếu bạn thay thế nó bằng dữ liệu của riêng bạn (hy vọng là một tệp âm thanh OGG hợp lệ), nó sẽ hoạt động.

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you convert binary to letters in python? - làm thế nào để bạn chuyển đổi nhị phân sang các chữ cái trong python?

Xem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnXem thảo luậnCải thiện bài viếtLưu bài viếtĐọcLet’s discuss certain ways in which this can be ...

programming python Binary to string Binary file Python Binascii

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng cleared definition python - use python định nghĩa đã xóa

Hàm Dictionary clear() trong Python xóa tất cả phần tử của Dictionary.clear() trong Python xóa tất cả phần tử của Dictionary.Nội dung chínhVí dụ hàm Set clear() trong ...

programming python Item trong Python Python get Học Python Python Freetuts

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you write json data into a text file in python? - làm thế nào để bạn ghi dữ liệu json vào một tệp văn bản trong python?

Hình thức đầy đủ của JSON là ký hiệu đối tượng JavaScript. Điều đó có nghĩa là một tệp tập lệnh (thực thi) được tạo bằng văn bản bằng ngôn ngữ ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you assign a value to alphabet in python? - làm thế nào để bạn gán một giá trị cho bảng chữ cái trong python?

Bạn muốn một từ điển Python bản địa..Xây dựng một cái với cái này:import string values = dict() for index, letter in enumerate(string.ascii_lowercase): values[letter] = ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you assign a value to alphabet in python? - làm thế nào để bạn gán một giá trị cho bảng chữ cái trong python?

Bạn muốn một từ điển Python bản địa..Xây dựng một cái với cái này:import string values = dict() for index, letter in enumerate(string.ascii_lowercase): values[letter] = ...

programming python Python letters Python range letters

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn python thread priority - ưu tiên chuỗi trăn

Bạn có thể sử dụng hàng đợi ưu tiên an toàn chủ đề thông qua lớp hàng đợi.thread-safe Priority Queue via the queue.PriorityQueue class.thread-safe Priority Queue via the ...

programming python Priority queue Python Python PriorityQueue Python process priority Python threading Python queue

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you convert binary to letters in python? - làm thế nào để bạn chuyển đổi nhị phân sang các chữ cái trong python?

Xem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnXem thảo luậnCải thiện bài viếtLưu bài viếtĐọcLet’s discuss certain ways in which this can be ...

programming python Binary to string Binary file Python Binascii

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng cleared definition python - use python định nghĩa đã xóa

Hàm Dictionary clear() trong Python xóa tất cả phần tử của Dictionary.clear() trong Python xóa tất cả phần tử của Dictionary.Nội dung chínhVí dụ hàm Set clear() trong ...

programming python Item trong Python Python get Học Python Python Freetuts

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you write json data into a text file in python? - làm thế nào để bạn ghi dữ liệu json vào một tệp văn bản trong python?

Hình thức đầy đủ của JSON là ký hiệu đối tượng JavaScript. Điều đó có nghĩa là một tệp tập lệnh (thực thi) được tạo bằng văn bản bằng ngôn ngữ ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how do you assign a value to alphabet in python? - làm thế nào để bạn gán một giá trị cho bảng chữ cái trong python?

Bạn muốn một từ điển Python bản địa..Xây dựng một cái với cái này:import string values = dict() for index, letter in enumerate(string.ascii_lowercase): values[letter] = ...

programming python Python advanced calculator Python Calculator API Python Python calculator online [:-1] python In Python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn how to add values to a string in python - cách thêm giá trị vào một chuỗi trong python

( newcommand {l} [1] { | #1 |} newcommand {vl} [1] { l { vec Re} , (#1)} newCommand {i} [1] { operatorName {im} , (#1)} )Tùy chọn 1 - Phương thức chuỗi formatBạn có thể ...

programming python Append string Python Format string Prepend string python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn merge tuples python - hợp nhất con trăn bộ

Trong bài viết này, chúng tôi sẽ học cách hợp nhất nhiều danh sách thành một danh sách các bộ dữ liệu trong Python. Chúng tôi sẽ sử dụng một số chức năng ...

programming python Tuple trong C

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn multiply list python - nhân danh sách python

Phép nhân ma trận là một phép toán tạo ra một ma trận duy nhất bằng cách lấy hai ma trận làm đầu vào và nhân các hàng của ma trận thứ nhất với cột của ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng funxtions python

Mục lục Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng funxtions python

Mục lục Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng funxtions python

Mục lục Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi ...

Hướng dẫn dùng written meaning python - sử dụng văn bản có nghĩa là python

Hướng dẫn base64 to audio python - base64 sang audio python

Xử lý tập tin PythonTrong Python, không cần nhập thư viện bên ngoài để đọc và ghi tệp. Python cung cấp một chức năng sẵn có để tạo, viết và đọc các ...

Hướng dẫn how do i print a list of numbers backwards in python? - làm cách nào để in một danh sách các số ngược lại trong python?

Sử dụng chức năng >>> range(9,-1,-1) range(9, -1, -1) >>> list(range(9,-1,-1)) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> list(range(-2, 6, 2)) [-2, 0, 2, ...

Hướng dẫn base64 to audio python - base64 sang audio python

programming python Range reverse python Reversed Python Reverse string Python Reverse list Python reverse() Reverse(List Java)

Hướng dẫn multithreading in python example - đa luồng trong ví dụ python

Bạn dùng máy tính hàng ngày, mở hàng chục trang web khác nhau, cùng một cơ số đếm không xuể các ứng dụng nghe nhạc, xem phim, game ở ngoài, bạn có tự hỏi vì ...

Hướng dẫn base64 to audio python - base64 sang audio python

programming python threading.thread python example Threading in Python Thread trong Python

Hướng dẫn biopython get sequence from ncbi - biopython lấy chuỗi từ ncbi

from Bio import Entrez from Bio import SeqIO Entrez.email = handle = Entrez.efetch(db=nuccore, id=CP001665, rettype=gb, ...

Hướng dẫn base64 to audio python - base64 sang audio python

programming python Biopython GenBank Biopython SeqFeature Biopython modules Biopython Biopython pubmed Biopython download fasta Biopython fastq gz Biopython wiki

Hướng dẫn python black indent size - trăn đen kích thước thụt vào

Python là một ngôn ngữ có lương tâm của sự liên kết khoảng cách. yêu cầu mà yêu cầu tính nhất quán trong phần bù của các ký tự từ Newlines.Các tab cho ...

Hướng dẫn base64 to audio python - base64 sang audio python

programming python Python Black ignore Autopep8 tab size Python Black tabs Python black config

Hướng dẫn is there a powerset function in python? - có một hàm powerset trong python không?

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng funxtions python

Mục lục Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi ...

Hướng dẫn dùng written meaning python - sử dụng văn bản có nghĩa là python

Hướng dẫn base64 to audio python - base64 sang audio python

Xử lý tập tin PythonTrong Python, không cần nhập thư viện bên ngoài để đọc và ghi tệp. Python cung cấp một chức năng sẵn có để tạo, viết và đọc các ...

Hướng dẫn how do i print a list of numbers backwards in python? - làm cách nào để in một danh sách các số ngược lại trong python?

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn dùng funxtions python

Mục lục Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi ...

Hướng dẫn dùng written meaning python - sử dụng văn bản có nghĩa là python

Hướng dẫn base64 to audio python - base64 sang audio python

Xử lý tập tin PythonTrong Python, không cần nhập thư viện bên ngoài để đọc và ghi tệp. Python cung cấp một chức năng sẵn có để tạo, viết và đọc các ...

Hướng dẫn how do i print a list of numbers backwards in python? - làm cách nào để in một danh sách các số ngược lại trong python?

Sử dụng chức năng >>> range(9,-1,-1) range(9, -1, -1) >>> list(range(9,-1,-1)) [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] >>> list(range(-2, 6, 2)) [-2, 0, 2, ...

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn python open another program - python mở một chương trình khác

Làm cách nào để tạo một tệp python để chạy một tệp khác?Nội phân chínhNhận một tệp Python để chạy một tệp khác, sử dụng Python 2.7.3 và Ubuntu ...

programming python Python run executable Python subprocess run Python C

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn roc curve python code - mã trăn đường cong roc

Tôi đang cố gắng vẽ đồ thị ROC để đánh giá độ chính xác của mô hình dự đoán mà tôi đã phát triển trong Python bằng cách sử dụng các gói hồi quy ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn which are types of control structures in php linkedin - các loại cấu trúc điều khiển trong php linkedin

PHPQ1. Đầu ra mã này là gì?1 2 1 -1 một lỗi phân tích cú pháp 0Cả ...

programming php LinkedIn Assessment Answers LinkedIn Skill assessment Linux assessment Python assessment LinkedIn

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn python program to find common elements in three sorted arrays by dictionary intersection - chương trình python để tìm các phần tử chung trong ba mảng được sắp xếp theo giao điểm từ điển

Đưa ra ba mảng được sắp xếp theo thứ tự không giảm, in tất cả các yếu tố phổ biến trong các mảng này.Examples:Input: ar1 = [1, 5, 10, 20, 40, 80] ar2 = ...

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn which are types of control structures in php linkedin - các loại cấu trúc điều khiển trong php linkedin

PHPQ1. Đầu ra mã này là gì?1 2 1 -1 một lỗi phân tích cú pháp 0Cả ...

programming php LinkedIn Assessment Answers LinkedIn Skill assessment Linux assessment Python assessment LinkedIn

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn python program to find common elements in three sorted arrays by dictionary intersection - chương trình python để tìm các phần tử chung trong ba mảng được sắp xếp theo giao điểm từ điển

Đưa ra ba mảng được sắp xếp theo thứ tự không giảm, in tất cả các yếu tố phổ biến trong các mảng này.Examples:Input: ar1 = [1, 5, 10, 20, 40, 80] ar2 = ...

Hướng dẫn python get memory usage of dictionary - python lấy bộ nhớ sử dụng từ điển

Hướng dẫn base64 to audio python - base64 sang audio python

25 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi hơi bối rối khi sử dụng phương pháp >>> ...

programming python Size in Python Python compress dictionary Python RAM usage

Hướng dẫn create header for csv python - tạo tiêu đề cho csv python

Hướng dẫn base64 to audio python - base64 sang audio python

Xem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnXem thảo luậnCải thiện bài viếtLưu bài viếtĐọcBàn luậnTệp CSV chứa một loại dữ liệu bảng ...

programming python Import csv Load csv Python Read CSV

Hướng dẫn find where mongodb python - tìm thấy trăn mongodb ở đâu

Hướng dẫn base64 to audio python - base64 sang audio python

Trong MongoDB, chúng tôi sử dụng các phương thức find() và find_one() để tìm dữ liệu trong một bộ sưu tập.Giống như câu lệnh select được sử dụng để tìm ...

programming python PyMongo Pymongo find Pymongo find_one Pymongo sort Pymongo drop collection

Hướng dẫn how do you append two arrays in python? - làm thế nào để bạn nối hai mảng trong python?

Hướng dẫn base64 to audio python - base64 sang audio python

Điều kiện tiên quyết: Numpy NumpyHai mảng trong Python có thể được thêm vào theo nhiều cách và tất cả các mảng có thể được thảo luận dưới đây.Phương ...

programming python Np append

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn which are types of control structures in php linkedin - các loại cấu trúc điều khiển trong php linkedin

PHPQ1. Đầu ra mã này là gì?1 2 1 -1 một lỗi phân tích cú pháp 0Cả ...

programming php LinkedIn Assessment Answers LinkedIn Skill assessment Linux assessment Python assessment LinkedIn

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn python program to find common elements in three sorted arrays by dictionary intersection - chương trình python để tìm các phần tử chung trong ba mảng được sắp xếp theo giao điểm từ điển

Đưa ra ba mảng được sắp xếp theo thứ tự không giảm, in tất cả các yếu tố phổ biến trong các mảng này.Examples:Input: ar1 = [1, 5, 10, 20, 40, 80] ar2 = ...

Hướng dẫn python get memory usage of dictionary - python lấy bộ nhớ sử dụng từ điển

Hướng dẫn base64 to audio python - base64 sang audio python

25 Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.Learn more. Tôi hơi bối rối khi sử dụng phương pháp >>> ...

programming python Size in Python Python compress dictionary Python RAM usage

programming python

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn which are types of control structures in php linkedin - các loại cấu trúc điều khiển trong php linkedin

PHPQ1. Đầu ra mã này là gì?1 2 1 -1 một lỗi phân tích cú pháp 0Cả ...

programming php LinkedIn Assessment Answers LinkedIn Skill assessment Linux assessment Python assessment LinkedIn

Hướng dẫn base64 to audio python - base64 sang audio python

Hướng dẫn python program to find common elements in three sorted arrays by dictionary intersection - chương trình python để tìm các phần tử chung trong ba mảng được sắp xếp theo giao điểm từ điển

Đưa ra ba mảng được sắp xếp theo thứ tự không giảm, in tất cả các yếu tố phổ biến trong các mảng này.Examples:Input: ar1 = [1, 5, 10, 20, 40, 80] ar2 = ...

Hướng dẫn python get memory usage of dictionary - python lấy bộ nhớ sử dụng từ điển