try to make audio play

This commit is contained in:
Martin Drechsel
2025-05-16 08:52:04 +02:00
parent ad3aa4293a
commit 6a1351752b
9 changed files with 250 additions and 1218 deletions

View File

@ -33,7 +33,7 @@ mime_guess = "2.0"
mime = "0.3"
fs_extra = "1.3.0"
sqlparser = { version = "0.56.0", features = [] }
tauri = { version = "2.5", features = ["protocol-asset"] }
tauri = { version = "2.5", features = ["protocol-asset", "devtools"] }
tauri-plugin-dialog = "2.2"
tauri-plugin-fs = "2.2.0"
tauri-plugin-opener = "2.2"

View File

@ -5,25 +5,26 @@
"windows": ["main"],
"permissions": [
"core:default",
"core:webview:allow-create-webview-window",
"core:webview:allow-create-webview",
"core:webview:allow-webview-show",
"core:webview:default",
"core:window:allow-create",
"core:window:allow-get-all-windows",
"core:window:allow-show",
"core:window:default",
"dialog:default",
"fs:allow-appdata-read-recursive",
"fs:allow-appdata-write-recursive",
"fs:allow-read-file",
"fs:allow-resource-read-recursive",
"fs:default",
"fs:allow-resource-write-recursive",
"http:allow-fetch-send",
"http:allow-fetch",
"http:default",
"opener:allow-open-url",
"opener:default",
"os:default",
"store:default",
"core:window:allow-create",
"core:window:default",
"core:window:allow-get-all-windows",
"core:window:allow-show",
"core:webview:allow-create-webview",
"core:webview:allow-create-webview-window",
"core:webview:default",
"core:webview:allow-webview-show"
"store:default"
]
}

View File

@ -130,7 +130,7 @@ pub fn resolve_secure_extension_asset_path<R: Runtime>(
// 2. Bestimme das Basisverzeichnis für alle Erweiterungen (Resource Directory)
let base_extensions_dir = app_handle
.path()
.resource_dir() // Korrekt für Ressourcen
.app_data_dir() // Korrekt für Ressourcen
// Wenn du stattdessen App Local Data willst: .app_local_data_dir()
.map_err(|e: TauriError| format!("Basis-Verzeichnis nicht gefunden: {}", e))?
.join("extensions");
@ -220,6 +220,7 @@ pub fn extension_protocol_handler<R: Runtime>(
let mime_type = mime_guess::from_path(&absolute_secure_path)
.first_or(mime::APPLICATION_OCTET_STREAM)
.to_string();
let content_length = content.len();
println!(
"Liefere {} ({}) ",
absolute_secure_path.display(),
@ -228,6 +229,9 @@ pub fn extension_protocol_handler<R: Runtime>(
Response::builder()
.status(200)
.header("Content-Type", mime_type)
.header("Content-Length", content_length.to_string()) // <-- HIER HINZUGEFÜGT
// Optional, aber gut für Streaming-Fähigkeit:
.header("Accept-Ranges", "bytes")
.body(content)
.map_err(|e| e.into())
}

View File

@ -19,12 +19,13 @@
],
"security": {
"csp": {
"default-src": ["'self'", "haex-extensions"],
"script-src": ["'self'", "haex-extensions"],
"style-src": ["'self'", "haex-extensions"],
"connect-src": ["'self'", "haex-extensions"],
"img-src": ["'self'", "haex-extensions", "data:"],
"font-src": ["'self'", "haex-extensions", "data:"]
"default-src": ["'self'", "haex-extension: data: blob: asset:"],
"script-src": ["'self'", "haex-extension:"],
"style-src": ["'self'", "haex-extension:"],
"connect-src": ["'self'", "haex-extension:"],
"img-src": ["'self'", "haex-extension:", "data:"],
"font-src": ["'self'", "haex-extension:", "data:"],
"media-src": "'self' haex-extension: data: blob: asset:"
},
"assetProtocol": {
"enable": true,
@ -44,6 +45,20 @@
],
"resources": {
"database/vault.db": "resources/vault.db"
},
"linux": {
"appimage": {
"bundleMediaFramework": false,
"files": {}
},
"deb": {
"files": {}
},
"rpm": {
"epoch": 0,
"files": {},
"release": "1"
}
}
}
}