Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Räkna ut hur lång speltid!

Postades av 2002-09-18 21:58:16 - Benni Svensson, i forum visual basic - allmänt, Tråden har 24 Kommentarer och lästs av 1048 personer

Jag börjar så smått få ihop min spelare, men det fattas naturligtvis en mass.
Min fråga:
Hur räknar jag ut speltiden?
Jag vet inte om jag kan få fatt på alla uppgifterna, men
på en låt gäller följande:

Buffer Size 176400 bytes (172,266kb) (ser lustigt ut)
Bits per sampe 16 bits
Sammple per Sec 44100
Channels 2
Storlek i kb 31920,375 kb.

Räker dessa uppgifter för att räkna ut speltiden?
I så fall, hur går man till väga?


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 22:21:36 - Sven Åke Persson

Hej
Om jag inte är alldeles ute och reser
bör det bli 31920375 /2 * 44100 = 362 sek ca 6 min

Buffern kör med 2 sek framförhållning
Sven


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 22:37:34 - Andreas Hillqvist

Borde Det inte Vara så här:

Tid = Buffer Size /Channels/(16/Bits per sample)/Sammple per Sec

Jag får det till 2 sekunder.


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 22:50:15 - Benni Svensson

När jag tar upp låten i Sound Forge så står tiden som 00:03:05.295
Det stämmer ju inte alls med dom siffror som vi bollar med. Finns det någonting annat som påverkar?


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 22:54:18 - Andreas Hillqvist

Buffer Size Kanske inte är hela filen utan bar det den har laddat i minnet?


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 22:58:49 - Benni Svensson

Det är så jag har uppfattat det som.
Jag har den senaste veckan jagat runt för att kunna plock fram sådana här uppgifter, och ett bra ställe är ju Microsoft. Men som du vet, leta där...
Jag hittade ialla fall ingenting av värde.


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:17:24 - Sven Åke Persson

Hej igen
>När jag tar upp låten i Sound Forge så står tiden som 00:03:05.295

Beträffande buffsize så har det inte med speltid att göra
så den kan vi glömma.

Det som är intressant är samlingshastighet 44100
dvs eftersom man klämmer 16 bits varje sekund så blir det
88200 bytes varje sekund.
Om du refererar till samma låt 03:05 som är Storlek i kb 31920,375 kb.

Så blir det 31920375 bytes / 88200 = 362 sek
Men eftersom det är stereo så skall denna mängd delas
ytterligare med 2 då hamnar Vi på 181 sek 3 min 1 sek.

Kan inte se att detta resonemang haltar.

Sven



Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:17:31 - Thomas Roman

Antalet bytes: 31920,375kb * 1024 32686464000
16bit = 4 bytes
32686464000 / 4 bytes = 8171616000
8171616000 / 44100 = 185297,415 (avrundat)
185297,415 / 1000 = 185,297415

Och det var väl 185,3 sekunder?

Om det är korrekt har jag ingen aning om... men i det här exemplet fungerade det =)

Och att jag fick fram rätt antal sekunder innan jag delade 2 (för antalet kanaler) kan bero på att dom flesta mp3or är joint stereo och det tar inte dubbelt så mkt plats.

Testa gärna det här på andra mp3or och se om det fungerar!

Thomas


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:20:46 - Sven Åke Persson

Hej Thomas skrev
>16bit = 4 bytes Que ??? :-)

Sven


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:21:07 - Thomas Roman

Kom på nu att det kanske inte är mp3or han håller på med och då är min teori med joint stereo inte korrekt... och skulle det vara mp3or så antar jag att man måste ta med vilken kbps den är i också...

Thomas


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:23:09 - Thomas Roman

Oj 16bit = 2 bytes ska det givetvis vara... så nu sprack hela min uträkning ännu mer =)

Thomas


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:29:02 - Thomas Roman

Fast eftersom 16bit blev 2 bytes så kan man dela med 2 kanaler istället och få samma resultat... så jag kanske inte är helt ute och cyklar ändå? =)
(efter en logisk slutsats av filstorleken så är det inte mp3or vi räknar på och alltså försvinner det där med joint stereo)

Thomas


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:31:23 - Sven Åke Persson

Hej igen
Men du har en poäng där Thomas man skall tydlgen anse
att en Kb = 1024 bits (idiotiskt men !)

Då kan du göra så att du multiplicerar mitt svar med 1.024

Så blir det (1.024 * 31920375) / (4 * 44100) = 185 sek= 3 min 5 sek

Voila mvh
Sven


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:39:46 - Thomas Roman

Din uträkning är väl nu lika som min eller? (efter min justering av 16bit = 2 bytes och tillägg av att dela med 2 kanaler)

Det skulle vara intressant om nån har nån mer wav-fil vi kan räkna på och se om det stämmer.

Thomas


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-18 23:42:24 - Sven Åke Persson

Hej
Jodå Thoma Vi är överens och det är det riktiga svaret.

DS


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 07:11:20 - Benni Svensson

Det här ser högintressant ut. Jag vill tacka för visat intresse, och jag skall kolla så det stämmer.

PS
Det är inte mp3 det gäller det är wav, och inte vilka wav som helst utan mina egna inspelningar.
TACK
DS


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 07:45:31 - Benni Svensson

Nu försöker jag att räkna ut resultatet så att jag kan få det uppdelat i minuter och sekunder.
Vad som inte lyckas är att om det är t ex 3 min och 2 sec, så ville jag ha det utskrivet som 3,02.
Så här försöker jag:
<code>
Dim strTid As Double, tidArray, helaSekunder As Double, helaMinuter As Double, resultat As Double
strTid = (1.024 * Filelength) / (4 * 44100)
tidArray = Split(strTid, ",")
helaSekunder = CInt(tidArray(0))
If Len(helaSekunder) = 1 Then
helaSekunder = 0 & helaSekunder
Else
helaSekunder = helaSekunder
End If
' räkna fram minuter
helaMinuter = helaSekunder \ 60
' Hur många sekuder blev det kvar?
helaSekunder = helaSekunder - (60 * helaMinuter)
resultat = helaMinuter & "," & helaSekunder
</code>
Vad tror ni?


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 08:35:53 - Andreas Hillqvist

Dim Tid As Double
Dim helaSekunder As Double
Dim helaMinuter As Double
Dim resultat As Double
Tid = (1.024 * Filelength) / (4 * 44100)
helaSekunder = Tid Mod 60
helaMinuter = Tid \ 60
resultat = helaMinuter + (helaSekunder / 60)


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 10:16:53 - Sven Åke Persson

Hej igen
En sista kommentar. Eftersom du uttrycker Fillängd som 31920.375 Kb

Så blir det :
(1024 * 31920.375) / (4 * 44100) = 185 sek= 3 min 5 sek

DS


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 11:42:44 - Benni Svensson

Tack Sven, men när det gäller längden så tar jag fram den med hjälp av FileLen, och det blir ju i byte. Jag konverterar inte om det utan refererar bara till det.

Jag tror mig nu har ala uppgifter som jag behöver.
Jag vill tacka alla som har visat intresse att lösa detta för mig, ingen nämd ingen glömd.


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 16:51:06 - Benni Svensson

Trodde att jag var klar men icke.
När det gällde Andreas kod, så blev det en massa decimaller, ville inte ha det, så jag tror att min kod räkna lika bra(tror jag)
Problem dock
När det bara är en decimal, så ville jag att det skulle finnas en inledande nolla, men jag får inte till det:
<code>
Dim strTid As Double, tidArray, helaSekunder As Double, helaMinuter As Double, resultat As Double

strTid = (1.024 * Filelength) / (4 * 44100)
tidArray = Split(strTid, ",")
helaSekunder = CInt(tidArray(0))
If Len(helaSekunder) = 1 Then
helaSekunder = "0" & helaSekunder
Else
helaSekunder = helaSekunder
End If
' räkna fram minuter
helaMinuter = helaSekunder \ 60
' Hur många sekuder blev det kvar?
helaSekunder = helaSekunder - (60 * helaMinuter)
resultat = helaMinuter & "," & helaSekunder ' & "," & decimalSekunder

</code>
Några förslag?


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 17:15:14 - Oskar Johansson

helaSekunder borde inte vara en double utan en string...


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 17:37:55 - Sven Åke Persson

Hej
För att komma till final så bör du lösa det så här.

Option Explicit
Const SEKUND = 0.99999 / 86400

Private Sub Command1_Click()
Dim playTime As Single
Dim FileLength As Long
FileLength = 31920375
playTime = (1.024 * FileLength) / (4 * 44100)
playTime = playTime * SEKUND
Label1.Caption = Format$(playTime, "hh:mm:ss")
End Sub

mvh
Sven


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 18:20:18 - Benni Svensson

Helt underbart Sven. Jag är dig stort tack skyldig.
Det fungerar perfekt.
Törs jag komma med en följefråga??
Det skulle vara perfekt att presentera detta som "digitala" siffror.
Något uppslag?
Jag antar att siffrorna skall ritas eller???


Svara

Sv: Räkna ut hur lång speltid!

Postades av 2002-09-19 18:25:34 - Sven Åke Persson

Hej
Digitala siffror finns redan en uppsjö av exempel.

Återkommer

DS


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 604
27 953
271 705
6 021
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies