mirror of
https://github.com/advplyr/audiobookshelf-app.git
synced 2025-07-31 08:04:46 +02:00
Book-Podcast combination, optional fixes
This commit is contained in:
parent
7189588c2b
commit
81ca757c77
2 changed files with 14 additions and 24 deletions
|
@ -25,22 +25,24 @@ struct LibraryItem: Codable {
|
|||
var isMissing: Bool
|
||||
var isInvalid: Bool
|
||||
var mediaType: String
|
||||
// var media: MediaType
|
||||
var media: MediaType
|
||||
var libraryFiles: [LibraryFile]
|
||||
}
|
||||
struct Book: Codable {
|
||||
struct MediaType: Codable {
|
||||
var libraryItemId: String?
|
||||
var metadata: BookMetadata
|
||||
var metadata: Metadata
|
||||
var coverPath: String?
|
||||
var tags: [String]
|
||||
var tags: [String]?
|
||||
var audioFiles: [AudioTrack]?
|
||||
var chapters: [Chapter]?
|
||||
var tracks: [AudioTrack]?
|
||||
var size: Int64?
|
||||
var duration: Double?
|
||||
var episodes: [PodcastEpisode]?
|
||||
var autoDownloadEpisodes: Bool?
|
||||
}
|
||||
struct BookMetadata: Codable {
|
||||
var title:String
|
||||
struct Metadata: Codable {
|
||||
var title: String
|
||||
var subtitle: String?
|
||||
var authors: [Author]?
|
||||
var narrators: [String]?
|
||||
|
@ -57,26 +59,14 @@ struct BookMetadata: Codable {
|
|||
var authorNameLF: String?
|
||||
var narratorName: String?
|
||||
var seriesName: String?
|
||||
}
|
||||
struct Podcast: Codable {
|
||||
var metadata: PodcastMetadata
|
||||
var coverPath: String?
|
||||
var tags: [String]
|
||||
var episodes: [PodcastEpisode]
|
||||
var autoDownloadEpisodes: Bool
|
||||
}
|
||||
struct PodcastMetadata: Codable {
|
||||
var title: String
|
||||
var author: String?
|
||||
var feedUrl: String?
|
||||
var genres: [String]
|
||||
}
|
||||
struct PodcastEpisode: Codable {
|
||||
var id: String
|
||||
var index: Int
|
||||
var episode: String?
|
||||
var episodeType: String?
|
||||
var title: String?
|
||||
var title: String
|
||||
var subtitle: String?
|
||||
var description: String?
|
||||
var audioFile: AudioFile?
|
||||
|
@ -103,10 +93,10 @@ struct Chapter: Codable {
|
|||
}
|
||||
struct AudioTrack: Codable {
|
||||
var index: Int?
|
||||
var startOffset: Double
|
||||
var startOffset: Double?
|
||||
var duration: Double
|
||||
var title: String
|
||||
var contentUrl: String
|
||||
var title: String?
|
||||
var contentUrl: String?
|
||||
var mimeType: String
|
||||
var metadata: FileMetadata?
|
||||
// var isLocal: Bool
|
||||
|
|
|
@ -40,7 +40,7 @@ class AudioPlayer: NSObject {
|
|||
|
||||
if playbackSession.audioTracks.count != 1 || playbackSession.audioTracks[0].mimeType != "application/vnd.apple.mpegurl" {
|
||||
NSLog("The player only support HLS streams right now")
|
||||
self.activeAudioTrack = AudioTrack(index: 0, startOffset: -1, duration: -1, title: "", contentUrl: "", mimeType: "")
|
||||
self.activeAudioTrack = AudioTrack(index: 0, startOffset: -1, duration: -1, title: "", contentUrl: nil, mimeType: "", metadata: nil, serverIndex: 0)
|
||||
|
||||
super.init()
|
||||
return
|
||||
|
@ -168,7 +168,7 @@ class AudioPlayer: NSObject {
|
|||
"Authorization": "Bearer \(Store.serverConfig!.token)"
|
||||
]
|
||||
|
||||
return AVURLAsset(url: URL(string: "\(Store.serverConfig!.address)\(activeAudioTrack.contentUrl)")!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
|
||||
return AVURLAsset(url: URL(string: "\(Store.serverConfig!.address)\(activeAudioTrack.contentUrl ?? "")")!, options: ["AVURLAssetHTTPHeaderFieldsKey": headers])
|
||||
}
|
||||
private func initAudioSession() {
|
||||
do {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue