Problem using SPI with ISD1760 module

Hi can someone please help me with the following code.I have two messages recorded onto the ISD1760 module and am trying to talk to it via SPI,however when i power up it cycles through and play's the two messages just one time and then sticks and just repeats the second message constantly.Any help will be very much appreciated.

#define PU          0x01
 #define PLAY 0x40
 #define FWD  0x48
 #define CLR_INT     0x04
 #define DATAOUT     11   //mosi
 #define DATAIN      12   //miso
 #define SPICLOCK    13   //sck
 #define SLAVESELECT 10   //ss
 void setup() {
  
  
  byte clr;
 pinMode(DATAOUT, OUTPUT);
 pinMode(DATAIN, INPUT);
 pinMode(SPICLOCK,OUTPUT);
 pinMode(SLAVESELECT,OUTPUT);
 digitalWrite(SLAVESELECT,HIGH); //disable device  
 SPCR = B01111111; //data lsb, clock high when idle, samples on falling
 clr=SPSR;
 clr=SPDR;
 delay(10);


  digitalWrite(SLAVESELECT,LOW);
 spi_transfer(PU); // power up
 spi_transfer(0x00); // data byte
 digitalWrite(SLAVESELECT,HIGH);
 delay(100);  

 digitalWrite(SLAVESELECT,LOW);
 spi_transfer(CLR_INT); // clear interupt and eom bit
 spi_transfer(0x00); // data byte
 digitalWrite(SLAVESELECT,HIGH);
 delay(100);

}

char spi_transfer(volatile char data)
{
 SPDR = data;                    // Start the transmission
 while (!(SPSR & (1<<SPIF)))     // Wait for the end of the transmission
 {
 };
 return SPDR;                    // return the received byte
}   

 void loop() {
   
   digitalWrite(SLAVESELECT,LOW);
 spi_transfer(CLR_INT); // clear interupt and eom bit
 spi_transfer(0x00); // data byte
 digitalWrite(SLAVESELECT,HIGH);
 delay(100);
  
  digitalWrite(SLAVESELECT,LOW);
 spi_transfer(PLAY); // clear interupt and eom bit
 spi_transfer(0x00); // data byte
 digitalWrite(SLAVESELECT,HIGH);
 delay(100);
 
 
 digitalWrite(SLAVESELECT,LOW);
 spi_transfer(FWD); // clear interupt and eom bit
 spi_transfer(0x00); // data byte
 digitalWrite(SLAVESELECT,HIGH);
 delay(100);
 
 
 digitalWrite(SLAVESELECT,LOW);
 spi_transfer(CLR_INT); // clear interupt and eom bit
 spi_transfer(0x00); // data byte
 digitalWrite(SLAVESELECT,HIGH);
 delay(100);
 
}

Managed to sort things out myself,for anyone who may find this useful the code is below.This code will cycle through all the messages that are recorded on your chip.

#include <SPI.h>
//opcodes
#define PU          0x01
#define CLR_INT     0x04
#define PLAY        0x40
#define FWD         0x48
const int Slaveselect=10;


  void setup() {
    
  SPI.begin();
  SPI.setBitOrder(LSBFIRST);
  SPI.setDataMode(SPI_MODE3);
  pinMode(Slaveselect,OUTPUT);
  
  digitalWrite(Slaveselect,LOW);
  SPI.transfer(PU); // power up
  SPI.transfer(0x00); 
  digitalWrite(Slaveselect,HIGH);
  delay(100);
 
 digitalWrite(Slaveselect,LOW);
 SPI.transfer(CLR_INT); // clear interupt 
 SPI.transfer(0x00); 
 digitalWrite(Slaveselect,HIGH);
 delay(100);
 
}

void loop() {
  
 digitalWrite(Slaveselect,LOW);
 SPI.transfer(PLAY); // play
 SPI.transfer(0x00); // data byte
 digitalWrite(Slaveselect,HIGH);
 delay(5000);
 
 digitalWrite(Slaveselect,LOW);
 SPI.transfer(FWD); // play
 SPI.transfer(0x00); // data byte
 digitalWrite(Slaveselect,HIGH);
 delay(100);
 
 }

Could you tell me how to play one sound? I can not do it, he runs all his, although I removing the command 'fwd'.