Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ajar anda cara menggunakan Python untuk menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi penyuntingan audio

Ajar anda cara menggunakan Python untuk menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi penyuntingan audio

WBOY
WBOYasal
2023-07-05 10:43:431143semak imbas

Ajar anda cara menggunakan Python untuk menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi penyuntingan audio

Huawei Cloud kini merupakan salah satu penyedia perkhidmatan awan terkemuka di China Ia menyediakan antara muka API yang kaya yang boleh membantu kami melaksanakan pelbagai fungsi. Artikel ini akan memperkenalkan cara menggunakan Python untuk menyambung ke antara muka Awan Huawei dan melaksanakan fungsi penyuntingan audio.

Pertama, kita perlu mendaftar akaun pada Platform Pembangun Awan Huawei dan membuat projek. Seterusnya, kita perlu memasang pakej Python SDK Anda boleh menggunakan arahan berikut untuk memasangnya:

pip install obs-sdk-python

Seterusnya, kita boleh mula menulis kod. Pertama, kita perlu mengimport beberapa perpustakaan yang diperlukan:

import json
import requests
import urllib.parse
import base64
import time
from obs import ObsClient

Seterusnya, kita perlu menetapkan ID Kunci Akses dan Kunci Akses Rahsia Huawei Cloud Maklumat ini boleh didapati di Platform Pembangun Awan Huawei:

access_key_id = 'your_access_key_id'
secret_access_key = 'your_secret_access_key'

Kemudian, kita perlu. untuk melaksanakan Fungsi untuk mendapatkan bukti kelayakan akses sementara Huawei Cloud:

def get_temp_token():
    url = 'https://iam.myhuaweicloud.com/v3/auth/tokens'
    headers = {
        'Content-Type': 'application/json;charset=utf8'
    }
    data = {
        "auth": {
            "identity": {
                "methods": ["password"],
                "password": {
                    "user": {
                        "domain": {
                            "name": "your_domain_name"
                        },
                        "name": "your_username",
                        "password": "your_password"
                    }
                }
            },
            "scope": {
                "project": {
                    "name": "your_project_name"
                }
            }
        }
    }
    response = requests.post(url, headers=headers, data=json.dumps(data))
    token = response.headers['X-Subject-Token']
    return token

Dalam kod di atas, kami menggunakan antara muka pengesahan Huawei Cloud untuk mendapatkan token akses. Perlu diingat bahawa "nama_domain_anda", "nama_pengguna_anda", "kata laluan_anda" dan "nama_projek_anda" perlu digantikan dengan maklumat berkaitan akaun Huawei Cloud.

Seterusnya, kami boleh menggunakan token yang diperoleh untuk memulakan objek ObsClient dan menyambung ke perkhidmatan storan objek Huawei Cloud:

def init_obs_client():
    token = get_temp_token()
    obsClient = ObsClient(access_key_id, secret_access_key, token=token)
    return obsClient

Dengan objek ObsClient, kami boleh menggunakan perkhidmatan storan objek Huawei Cloud untuk memuat naik, memuat turun dan Padam fail. Sebagai contoh, kita boleh melaksanakan fungsi untuk memuat naik fail:

def upload_file(file_path, bucket_name, object_key):
    obsClient = init_obs_client()
    with open(file_path, 'rb') as file:
        resp = obsClient.putObject(bucket_name, object_key, file)
    if resp.status >= 200 and resp.status < 300:
        print('Upload successful')
    else:
        print('Upload failed:', resp.errorMessage)

di mana "file_path" ialah laluan fail yang hendak dimuat naik, "bucket_name" ialah nama baldi dalam perkhidmatan storan objek dan "object_key" ialah tempat yang dimuat naik. fail disimpan Pengecam unik dalam baldi.

Seterusnya, mari kita laksanakan fungsi penyuntingan audio. Perkhidmatan penyuntingan audio Huawei Cloud menggunakan API penyuntingan audio, dan kami boleh menggunakan API ini untuk melaksanakan fungsi penyuntingan audio. Kita perlu melaksanakan fungsi untuk memanggil API:

def audio_clipping(input_bucket, input_object, output_bucket, output_object, start_time, end_time):
    obsClient = init_obs_client()
    url = 'https://ais.cn-north-1.myhuaweicloud.com/v1.0/voice/audio-clip'
    headers = {
        'Content-Type': 'application/json;charset=utf8',
        'X-Auth-Token': obsClient.getSecurityToken()
    }
    data = {
        "input": {
            "obs": {
                "path": "obs://{}/{}".format(input_bucket, input_object)
            }
        },
        "output": {
            "obs": {
                "path": "obs://{}/{}".format(output_bucket, output_object)
            }
        },
        "parameters": {
            "start_time": start_time,
            "end_time": end_time
        }
    }
    response = requests.post(url, headers=headers, data=json.dumps(data))
    if response.status_code == 200:
        print('Audio clipping successful')
    else:
        print('Audio clipping failed:', response.text)

Dalam kod di atas, "input_bucket", "input_object", "output_bucket" dan "output_object" ialah pengecam unik baldi dan objek di mana fail input dan fail output terletak, masing-masing "masa_mula" dan "masa_akhir" ialah masa mula dan masa tamat klip audio, yang boleh ditetapkan sendiri.

Akhirnya, kita boleh memanggil fungsi di atas untuk memuat naik fail audio dan mengeditnya:

def main():
    file_path = 'your_file_path'
    bucket_name = 'your_bucket_name'
    object_key = 'your_object_key'
    upload_file(file_path, bucket_name, object_key)
    output_bucket = 'your_output_bucket_name'
    output_object = 'your_output_object_key'
    start_time = '00:00:10'
    end_time = '00:00:20'
    audio_clipping(bucket_name, object_key, output_bucket, output_object, start_time, end_time)

if __name__ == '__main__':
    main()

Dalam kod di atas, "your_file_path" ialah laluan fail audio yang hendak dimuat naik, dan "your_bucket_name" dan "your_object_key" ialah masing-masing selepas memuat naik Pengecam unik baldi dan objek di mana fail terletak "nama_buket_keluaran_anda" dan "kunci_objek_keluaran_anda" ialah pengecam unik baldi dan objek di mana fail audio yang diedit berada.

Melalui langkah di atas, kita boleh menggunakan Python untuk menyambung ke antara muka Awan Huawei untuk melaksanakan fungsi penyuntingan audio. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Ajar anda cara menggunakan Python untuk menyambung ke antara muka Huawei Cloud untuk melaksanakan fungsi penyuntingan audio. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn