First Commit
This commit is contained in:
44
README.md
Normal file
44
README.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
# BORG - Yfirlit yfir skjölun
|
||||||
|
|
||||||
|
Þetta skjal veitir yfirlit yfir öll skjölunarskrár í BORG verkefninu.
|
||||||
|
|
||||||
|
## Efnisyfirlit
|
||||||
|
|
||||||
|
### Tæknileg skjölun
|
||||||
|
- [Podcast Upptökur - Tæknilegt yfirlit](Studio/Podcasts/TECHNICAL.md)
|
||||||
|
- [Yfirlit](#yfirlit)
|
||||||
|
- [Tæknileg uppbygging](#tæknileg-uppbygging)
|
||||||
|
- [Hljóðupptaka](#hljóðupptaka)
|
||||||
|
- [Hljóðspilun](#hljóðspilun)
|
||||||
|
- [Gagnagrunnur](#gagnagrunnur)
|
||||||
|
- [API Endapunktar](#api-endapunktar)
|
||||||
|
- [Socket.IO Atburðir](#socketio-atburðir)
|
||||||
|
- [Öryggi](#öryggi)
|
||||||
|
- [Takmarkanir](#takmarkanir)
|
||||||
|
- [Þróun](#þróun)
|
||||||
|
|
||||||
|
## Leiðbeiningar fyrir skjölun
|
||||||
|
|
||||||
|
Þegar bætt er við nýrri skjölun í verkefnið:
|
||||||
|
|
||||||
|
1. Setjið tæknilega skjölun í viðeigandi undirmöppu undir `Studio/`
|
||||||
|
2. Notið Markdown (.md) snið fyrir allar skjölunarskrár
|
||||||
|
3. Notið skýrar fyrirsagnir og kafla
|
||||||
|
4. Haldið skjölun uppfærðri með kóðabreytingum
|
||||||
|
5. Skjölsetjið allar API breytingar, nýja eiginleika eða breytingar sem hafa áhrif á bakvísa
|
||||||
|
|
||||||
|
## Bæta við nýrri skjölun
|
||||||
|
|
||||||
|
Til að bæta við nýrri skjölun:
|
||||||
|
|
||||||
|
1. Búið til nýja .md skrá í viðeigandi möppu
|
||||||
|
2. Uppfærið þetta yfirlitsskjal með nýju skjöluninni
|
||||||
|
3. Fylgið núverandi stíl og sniði skjölunar
|
||||||
|
4. Bætið við viðeigandi tæknilegum upplýsingum og dæmum þar sem við á
|
||||||
|
|
||||||
|
## Viðhald skjölunar
|
||||||
|
|
||||||
|
- Farið yfir og uppfærið skjölun reglulega
|
||||||
|
- Tryggið að skjölun endurspegli núverandi útfærslu
|
||||||
|
- Fjarlægið úreltar upplýsingar
|
||||||
|
- Bætið við nýjum kaflum eftir því sem verkefnið þróast
|
80
Studio/Podcasts/TECHNICAL.md
Normal file
80
Studio/Podcasts/TECHNICAL.md
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# Podcast Upptökur - Tæknilegt yfirlit
|
||||||
|
|
||||||
|
## Yfirlit
|
||||||
|
Podcast Upptökur er byggt á Next.js 14 með TypeScript og notar nýjustu tækni fyrir hljóðupptökur og spilun. Kerfið notar Web Audio API fyrir hljóðvinnslu og Socket.IO fyrir rauntíma samskipti.
|
||||||
|
|
||||||
|
## Tæknileg uppbygging
|
||||||
|
|
||||||
|
### Hljóðupptaka
|
||||||
|
- Notar `MediaRecorder` API fyrir upptökur
|
||||||
|
- Stuðningur við margar hljóðformáta (webm, ogg, mp4)
|
||||||
|
- 48kHz upptökuhraði með 1 rás
|
||||||
|
- Hljóðgæði: 510kbps
|
||||||
|
- Upptökutími: Allt að 50 mínútur
|
||||||
|
|
||||||
|
### Hljóðspilun
|
||||||
|
- Notar `AudioContext` og `AnalyserNode` fyrir línurit
|
||||||
|
- Stuðningur við spilun, hlé, stöðvun og tímasetningu
|
||||||
|
- Sýnir tímalengd og núverandi spilunartíma
|
||||||
|
- Vísar hljóðbylgjuform í rauntíma
|
||||||
|
|
||||||
|
### Gagnagrunnur
|
||||||
|
Upptökur eru vistaðar með eftirfarandi upplýsingum:
|
||||||
|
```typescript
|
||||||
|
interface PodcastRecording {
|
||||||
|
id: string;
|
||||||
|
filename: string;
|
||||||
|
createdAt: string; // ISO date string
|
||||||
|
size: number;
|
||||||
|
duration?: number | null;
|
||||||
|
mimetype: string;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## API Endapunktar
|
||||||
|
|
||||||
|
### GET /api/studio/podcasts
|
||||||
|
- Sækir lista af öllum upptökum
|
||||||
|
- Skilar `PodcastRecording[]`
|
||||||
|
|
||||||
|
### GET /api/studio/podcasts/play/{id}
|
||||||
|
- Sækir hljóðskrá fyrir spilun
|
||||||
|
- Skilar hljóðskrá sem stream
|
||||||
|
|
||||||
|
### POST /api/studio/podcasts
|
||||||
|
- Vistar nýja upptöku
|
||||||
|
- Tekur við FormData með hljóðskrá
|
||||||
|
- Skilar `PodcastRecording`
|
||||||
|
|
||||||
|
### DELETE /api/studio/podcasts/{id}
|
||||||
|
- Eyðir upptöku
|
||||||
|
- Skilar 204 ef upptakan var eytt
|
||||||
|
|
||||||
|
## Socket.IO Atburðir
|
||||||
|
|
||||||
|
### Upptaka
|
||||||
|
- `start-recording`: Byrjar upptöku
|
||||||
|
- `recording-data`: Sendir hljóðgögn
|
||||||
|
- `stop-recording`: Stöðvar upptöku
|
||||||
|
|
||||||
|
### Spilun
|
||||||
|
- `play`: Byrjar spilun
|
||||||
|
- `pause`: Gerir hlé
|
||||||
|
- `stop`: Stöðvar spilun
|
||||||
|
- `seek`: Færir spilunartíma
|
||||||
|
|
||||||
|
## Öryggi
|
||||||
|
- Öll API kall krefjast innskráningar
|
||||||
|
- Hljóðskrár eru vistaðar á öruggum stað
|
||||||
|
- Upptökur eru aðgengilegar aðeins fyrir eiganda þeirra
|
||||||
|
|
||||||
|
## Takmarkanir
|
||||||
|
- Hámarksupptökutími: 50 mínútur
|
||||||
|
- Stuðningur við aðeins hljóðskrár
|
||||||
|
- Krafist er nýlegs vafra með stuðningi við Web Audio API
|
||||||
|
|
||||||
|
## Þróun
|
||||||
|
- Notar TypeScript fyrir örugga kóða
|
||||||
|
- React hooks fyrir stjórn á stöðu
|
||||||
|
- Radix UI fyrir samræmda notendaviðmót
|
||||||
|
- Tailwind CSS fyrir stílsnið
|
53
Studio/Podcasts/USER.md
Normal file
53
Studio/Podcasts/USER.md
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
# Podcast Upptökur - Notendaleiðbeiningar
|
||||||
|
|
||||||
|
## Yfirlit
|
||||||
|
Podcast Upptökur er tól sem gerir þér kleift að taka upp og stjórna hljóðupptökum. Þú getur:
|
||||||
|
- Tekið upp hljóð með hljóðnema
|
||||||
|
- Spilað upptökur
|
||||||
|
- Halað upptökum niður
|
||||||
|
- Eytt upptökum
|
||||||
|
|
||||||
|
## Að taka upp hljóð
|
||||||
|
|
||||||
|
1. **Undirbúningur**
|
||||||
|
- Gakktu úr skugga um að hljóðnemi sé tengdur og virkur
|
||||||
|
- Veldu réttan hljóðnema ef þú ert með marga tengda
|
||||||
|
|
||||||
|
2. **Upptaka**
|
||||||
|
- Smelltu á "Byrja upptöku" takkann
|
||||||
|
- Þú sérð upptökuferlið á línuriti
|
||||||
|
- Smelltu á "Stöðva" til að stöðva upptöku
|
||||||
|
- Upptakan verður sjálfkrafa vistuð þegar þú stöðvar hana
|
||||||
|
|
||||||
|
## Að spila upptökur
|
||||||
|
|
||||||
|
1. **Velja upptöku**
|
||||||
|
- Í upptökulistanum, smelltu á upptökuna sem þú vilt spila
|
||||||
|
- Upptakan birtist í spilaranum efst á síðunni
|
||||||
|
|
||||||
|
2. **Spilun**
|
||||||
|
- Notaðu spilunartakkana til að:
|
||||||
|
- Spila/gera hlé (Play/Pause)
|
||||||
|
- Stöðva (Stop)
|
||||||
|
- Dragðu stikuna til að fara á ákveðinn tímapunkt í upptökunni
|
||||||
|
- Skoðaðu tímalengd upptökunnar
|
||||||
|
|
||||||
|
## Að sækja upptökur
|
||||||
|
|
||||||
|
1. **Niðurhal**
|
||||||
|
- Í upptökulistanum, smelltu á niðurhalshnappinn (↓) við hlið upptökunnar
|
||||||
|
- Upptakan verður sótt niður á tölvuna þína
|
||||||
|
|
||||||
|
## Að eyða upptökum
|
||||||
|
|
||||||
|
1. **Eyða upptöku**
|
||||||
|
- Í upptökulistanum, smelltu á ruslatunnu hnappinn (🗑️) við hlið upptökunnar
|
||||||
|
- Staðfestu að þú viljir eyða upptökunni
|
||||||
|
- Upptakan verður fjarlægð varanlega
|
||||||
|
|
||||||
|
## Ábendingar
|
||||||
|
|
||||||
|
- Þú getur tekið upp hljóð í allt að 50 mínútur í einu
|
||||||
|
- Upptökur eru vistaðar í .webm eða .mp4 formati
|
||||||
|
- Þú getur spilað upptökur beint í vafranum
|
||||||
|
- Upptökur eru vistaðar á netþjóninum og eru aðgengilegar hvar sem er
|
Reference in New Issue
Block a user